一個串流 Dataflow job (Streaming Engine、水平自動擴展、max_workers=1000) 從 GCS 讀取 Pub/Sub 通知,並為每個 CSV 行發出一個元素。該 job 只使用了 10 個 worker,且 autoscaler 沒有增加更多 worker。您要如何改善平行處理並讓 autoscaler 擴展?
選擇一個答案
點擊一個選項來檢查您的答案。
正確答案: 修改管線程式碼以新增 Reshuffle 步驟來打破融合 (fusion)。.
為什麼這是答案
此 Dataflow job 處理 Pub/Sub 通知,每個 CSV 行發出一個元素。由於 job 只使用了 10 個 worker 且 autoscaler 未擴展,這表示 Dataflow 認為目前的資源足以處理工作負載,但實際上可能存在瓶頸。新增 Reshuffle 步驟可以強制 Dataflow 打破融合 (fusion),這會導致資料在步驟之間重新分區和重新分配,從而提供更多平行處理的機會。當 Dataflow 偵測到有更多可平行處理的工作時,autoscaler 就能更有效地擴展 worker 數量。 啟用垂直自動擴展 (Vertical Autoscaling) 雖然能讓單一 worker 處理更多資料,但無法解決平行處理不足的問題。增加 job 的最大 worker 數量 (maxworkers) 只是設定上限,若沒有足夠的平行工作,autoscaler 仍不會擴展。Dataflow Prime 的 Right Fitting 旨在優化資源分配,但若管線本身缺乏平行處理機會,也無法有效觸發擴展。
通過考試 — 無需無休止地尋找答案
集中一處獲取此考試的所有核實題目和解釋,節省數小時的準備時間。1,000 多種認證 · 20 多種語言 · 免費開始。
更快通過您的考試 → 無需信用卡