1秒間に何千ものイベントが発生する単一のストリーミングイベントソースがあります。これらのイベントには、何万人の顧客がイベントに属しているかを識別するIDが付いています。このイベントソースを使用して(ストリーミングモードで)データウェアハウスを作成したいと考えていますが、イベントソースは永続的ではありませんので、GCSでアーカイブしてデータを再生することもできますそれを必要とする変更を行う場合は、倉庫パイプラインを使用します。データ保持要件のため、永続化する生データはすべて顧客によって分割する必要があるため、簡単に削除することができます。データフローパイプラインの出力をパーティション化された宛先に書き込む
データフローでこれを解決する最も単純な方法は何ですか?現在、GCS/BigQueryの顧客ごとのファイルにデータを書き込むカスタムシンクを使用してデータフロージョブを作成していますが、これは合理的ですか?
ここで出力をどのように分割するかはわかりませんが、何か不足していますか? – Narek
利用可能なデータを使用して、ファイル名/パスの文字列を構成できます。パイプラインを適切に構築して、出力ディレクトリ/ファイル名を作成するときにデータを利用できるようにすることがすべての問題です。 – Nick
問題は、TextIO.WriteはPCollectionだけをとり、1つのPCollection内では何百ものパーティションに対応する行があることです。 – Narek