2017-10-03 7 views
0

シンクとしてBigQueryテーブルを持つパイプラインがあります。 BigQueryにデータが書き込まれた後、いくつかのステップを正確に実行する必要があります。これらのステップには、そのテーブルに対してクエリを実行し、そこからデータを読み取り、別のテーブルに書き込むことが含まれます。BigQueryIO.write()操作の直後にプロセスを実行する

上記の達成方法は?私は後者のために別のパイプラインを作成する必要がありますが、最初のパイプラインの後にそれを呼び出すことは、私が仮定する別の問題になります。

実行中のパイプラインから別のデータフロージョブ(テンプレート)を呼び出すことは可能ですか?

本当にこれに関する助けが必要です。

ありがとうございました。

答えて

1

これは現在、BigQueryIOによって明示的にサポートされていません。唯一の回避策は、別のパイプラインを使用することです:最初のパイプラインを開始し、それが完了するのを待って(例えば、pipeline.run().waitUntilFinish()を使用して)、2番目のパイプラインを開始します(同じオブジェクトを複数回再使用することはできません。サポートされています)。

+0

追加するだけで、これを達成するために必ずしも別のパイプラインを使用する必要はありません。最初のパイプラインが終了した後( 'pipeline.run()。waitUntilFinish()')、BigQuery SDKの使用に戻ることができます。我々はこれをパイプラインで多く行い、パターンはうまく機能します。 https://stackoverflow.com/questions/44315157/perform-action-after-dataflow-pipeline-has-processed-all-data/44328850#44328850 –

+0

@jkffテンプレートを作成している場合のためにはどうすればいいですか? 2つのパイプラインに別々のテンプレートがありますか?両方のパイプラインを実行する単一のテンプレートを作成したいのですが? – rish0097

+0

残念ながらこれはテンプレートでは不可能です。 – jkff

関連する問題