私のクエリが何百万行も返された場合、JdbcIOがどのようにクエリを並列に実行するかを知りたいと思います。 私はhttps://issues.apache.org/jira/browse/BEAM-2803と関連するプルリクエストを参照しました。私はそれを完全に理解できませんでした。Apache Beamを使用してデータベースからバルクデータを読み取る
ReadAll
expand
の方法はParDo
を使用します。したがって、データベースへの複数の接続を作成して、データを並行して読み込みますか?データソース内のDBに作成できる接続数を制限すると、接続制限に固執しますか?
これはどのように扱われるのか教えてください。JdbcIO
?上記のコードはReadFnがパルドで適用されていることを示して
.apply(
ParDo.of(
new ReadFn<>(
getDataSourceConfiguration(),
getQuery(),
getParameterSetter(),
getRowMapper())))
:私は2.2.0
アップデートを使用しています。私は、ReadFnは並行して実行されると思います。私の前提が正しいとすれば、一度に限られた数の接続しか確立できないDBから読み取るのに、どのようにしてreadAll()
メソッドを使用しますか? Balu
ララ、コメントをありがとう。しかし、私の質問は、単一のクエリがDBから何百万もの行をロードする場合に特有です。このようなデータを並行して読み込む実装はありません。ここではどのように並列性を達成できますか? – Balu