一個擷取 gzipped 文字檔的 Dataflow 工作使用 SideInputs 來連接資料,並將錯誤寫入死信佇列,但工作執行時間比預期長。哪項變更可以加速此管道?
選擇一個答案
點擊一個選項來檢查您的答案。
正確答案: 使用 CoGroupByKey 而非 SideInput。.
為什麼這是答案
使用 CoGroupByKey 而非 SideInput 可以加速管道。SideInput 會將整個資料集載入每個 worker 實例的記憶體中,這對於大型資料集來說效率低下且可能導致記憶體不足錯誤,尤其是在處理 gzipped 文字檔時,解壓縮和載入會增加延遲。CoGroupByKey 則允許將兩個或多個 PCollection 依據鍵值進行分組和合併,資料會分散到多個 worker 處理,避免了單一 worker 記憶體限制,從而提高處理大型資料集的效率和速度。將輸入檔案切換為壓縮的 Avro 雖然有助於儲存效率,但對現有 SideInput 的處理模式沒有直接影響。減少批次大小通常會增加開銷,降低效率。重試拋出錯誤的記錄是錯誤處理機制,與管道加速無關。
通過考試 — 無需無休止地尋找答案
集中一處獲取此考試的所有核實題目和解釋,節省數小時的準備時間。1,000 多種認證 · 20 多種語言 · 免費開始。
更快通過您的考試 → 無需信用卡