ストリーミングでWindowed PCollectionが与えられたら、ウィンドウに基づいてBQテーブルの特定のパーティションに書きたいと思います。ウィンドウのない無制限のPCollectionを特定のBQパーティションに書き込むことはできますか?
tableSpecFunction
をBigQueryIO.Write.Bound.to(SerializableFunction<BoundedWindow,String> tableSpecFunction)
(docs)に指定すると、テーブル参照文字列の英数字名しか指定できないようです。
テーブルデコレータが指定されていないと、データはパーティションID:__UNPARTITIONED__
に書き込まれたようです。 AFAICTこれは最終的にtoday's partitionに解決されます。
私の場合、正しいパーティションですぐにデータにアクセスできるようにしたいと考えています。さらに、後半のデータを考慮して正しいパーティションに書き込むこともできることは素晴らしいことです。
だから私の質問を言い換えるする:
、それは特定のBQパーティションにウィンドウ無制限PCollectionを書くことは可能ですか?
おっと。 テスト実行時にログに表示されていたため、私はスローされました: "テーブルIDは英数字(プラス記号)で、長さは最大1024文字でなければなりません。 しかし、私はテストデータセットを適切にクリアしていないようですので、非パーティションテーブルのパーティションをアドレス指定する必要があります。 クリーンなデータセットでもう一度試してみましたが、うまくいきました。 PEBKAC – Thang