0
私は、入力がデータベースからの大きな読み込みであるデータフローを持っています。私はこのクエリを分割し、ジョブが開始されたときに複数のホストから実行したいと思います。私が知る限り、BoundedSource
には入力分割を直接制御する方法がありません。それに最も近いのはsplitIntoBundles
です。これは、基本的には非常に高価な読み込みを開始しなければならないことを意味し、Dataflowはそれをキャンセルし、代わりに定義されたバンドル分割を使用します。これはかなり狂っているようですので、リモートワーカーで実行できる入力分割を事前定義するより良い方法があることを期待しています。有界ソース分割を制御する方法は?
あなたはどのデータベースを読んでいますか? Big Queryにクエリしていますか?または、カスタムソースを作成しましたか? – Pablo
私はMongoから読んでいます。カスタムソースを実装しました。 – Max
ビームコードを見ると、splitIntoBundlesを実装しているMongoDBソースがあるようです。おそらく、あなたはこの実装を探ることができますか? https://github.com/apache/beam/blob/master/sdks/java/io/mongodb/src/main/java/org/apache/beam/sdk/io/mongodb/MongoDbIO.java#L226 – Pablo