目前使用帶有 Python 的 Google Dataflow 進行批處理。這工作正常,但是,我有興趣在不必處理 Java 的情況下從我的數據流作業中獲得更快的速度。使用 Go SDK,我實現了一個簡單的管道,它從 Google 存儲中讀取一系列100-500mb 的textio.Read文件(使用),進行一些聚合并使用結果更新 CloudSQL。正在讀取的文件數量可以從幾十個到數百個不等。當我運行管道時,我可以從日志中看到文件是串行讀取的,而不是并行讀取的,因此作業需要更長的時間。使用 Python SDK 執行的相同過程會觸發自動縮放并在幾分鐘內運行多次讀取。我已經嘗試使用指定工作人員的數量--num_workers=,但是,Dataflow 在幾分鐘后將作業縮小到一個實例,并且在實例運行時從日志中沒有發生并行讀取。如果我刪除textio.Read并實現自定義 DoFn 以從 GCS 讀取,則會發生類似的情況。讀取過程仍然串行運行。我知道當前的 Go SDK 是實驗性的并且缺少許多功能,但是,我沒有在此處找到對并行處理限制的直接參考。Go SDK 的當前版本是否支持 Dataflow 上的并行處理?提前致謝
- 0 回答
- 0 關注
- 136 瀏覽
添加回答
舉報
0/150
提交
取消