dataflow 2.Xのリリースノートによると、IntraBundleParallelizationは削除されています。データフロー2.1.0でDoFnsの並列性を制御/増加する方法はありますか?Dataflow 2.1.0のIntrabundleParallelizationに代わる方法はありますか?
データフローの1.9.0バージョンでIntrabundleParallelizationを使用したとき、パフォーマンスが向上しました。
dataflow 2.Xのリリースノートによると、IntraBundleParallelizationは削除されています。データフロー2.1.0でDoFnsの並列性を制御/増加する方法はありますか?Dataflow 2.1.0のIntrabundleParallelizationに代わる方法はありますか?
データフローの1.9.0バージョンでIntrabundleParallelizationを使用したとき、パフォーマンスが向上しました。
コールが完了した後にのコールがProcessElement
コールのハンドルを保持しているため、これは削除されました。これは安全ではなく、動作することが保証されていません。
しかし、私はそれが有用な抽象化であったことに同意します。そして、私たちがまだ置き換えをしていないことは残念です。回避策として
、あなたは次のことを試すことができます:あなたのDoFnの@Setup
で
@StartBundle
でスレッドExecutor
を作成し、エグゼキュータExecutorCompletionService
を作成します
@ProcessElement
には、要素の処理結果を表すFuture
を提出します。@ProcessElement
には、als完了した先物についてCompletionService
@FinishBundle
には、残りの未来がすべて完了するまで待って結果を出力し、CompletionService
をシャットダウンします。はないに覚えておいてください、あなたの先物でProcessContext
を使用しています。 ProcessContext
は現在のスレッドと現在のProcessElement
呼び出し内からのみ使用できます。
上記の実例がありますか? – ghostcoder