Bigqueryの日付パーティションテーブルに書き込む場合は、postの指示に従っています。私は$
構文を使用してパーティションの場所にウィンドウをマップするために、シリアライズ機能を使用していると私は次のエラーを取得:BigqueryIO日付パーティションテーブルに書き込むことができません
Invalid table ID \"table$19700822\". Table IDs must be alphanumeric (plus underscores) and must be at most 1024 characters long.
私はここで何かをしないのですか?
編集追加コード:
p.apply(Window.<TableRow>into(FixedWindows.of(Duration.standardDays(1))))
.apply(BigQueryIO.Write
.named("Write")
.withSchema(schema)
.withWriteDisposition(BigQueryIO.Write.WriteDisposition.WRITE_APPEND)
.withCreateDisposition(BigQueryIO.Write.CreateDisposition.CREATE_IF_NEEDED)
.to(new SerializableFunction<BoundedWindow, String>() {
public String apply(BoundedWindow window) {
String dayString = DateTimeFormat.forPattern("yyyyMMdd")
.withZone(DateTimeZone.UTC)
.print(((IntervalWindow) window).start());
return "project_id:dataset.table$" + dayString;
}
}));
シリアライズ可能な関数の出力は実際には 'project-id:dataset.table $ YYYYMMDD'のように見えるので、私はそうは思わないでしょうか? – Narek
あなたが使っているコードを教えてください。 – Sonya
@Sonya私は使用しているコードを追加しました。 – Narek