Apache Beam 2.1.0には、BigQueryから読み取ったテンプレートパイプラインのバグがあり、これは一度しか実行できないことを意味していました。詳細はこちらをhttps://issues.apache.org/jira/browse/BEAM-2058BigQueryIO withTemplateCompatibilityを使用してパフォーマンスを読み取る
これは、ビーム2.2.0のリリースで修正されました、あなたは今withTemplateCompatibilityオプションを使用したBigQueryから読み取ることができ、あなたのテンプレートパイプラインは現在、複数回実行することができます。
pipeline
.apply("Read rows from table."
, BigQueryIO.readTableRows()
.withTemplateCompatibility()
.from("<your-table>")
.withoutValidation())
この実装では、私が今、今、一貫して完了するために、45-50分を取って8-11分で実行したものを一括パイプラインを持って、BigQueryIO読み出し動作に巨大なパフォーマンスコストが付属しているようです。両方のパイプラインの唯一の違いは.withTemplateCompatibility()です。
パフォーマンスが大幅に低下した理由と、改善する方法があるかどうかを確認しようとしています。
ありがとうございました。
解決策: jkffの入力に基づいています。
pipeline
.apply("Read rows from table."
, BigQueryIO.readTableRows()
.withTemplateCompatibility()
.from("<your-table>")
.withoutValidation())
.apply("Reshuffle", Reshuffle.viaRandomKey())
ありがとう、jkff。これにより問題は解決されましたが、再シャッフル変換は廃止予定で内部使用するとマークされています。 – Ken
交換が必要であることがわかっている不幸な場所ですが、まだ使用していないものがあります(今は安全に使用できます)。 – jkff