批次處理 中階

批次處理設計模式

AI 練習作答

請說明大規模批次處理的常見設計模式。

分區平行化(Partition Parallelism)

將資料按 key(如日期、用戶 ID 範圍)分區,各分區平行獨立處理,大幅縮短總處理時間。

增量處理(Incremental Processing)

每次只處理上次運行後新增/變更的資料,而非全量重跑。需記錄高水位線(High Watermark)或上次處理的最大 ID/時間戳。

Checkpoint 與容錯

長時間執行的批次任務需定期 Checkpoint(將中間結果持久化)。任務失敗時從最近的 Checkpoint 恢復,避免從頭重跑。

資料傾斜處理(Data Skew)

若某些 Key 的資料量遠大於其他(如熱門商品、超級用戶),會導致部分 Task 執行極慢。解法:加鹽(Salting)打散熱點 Key、廣播小表(Broadcast Join)。

批次大小優化

批次太小:任務調度開銷大。批次太大:記憶體壓力大、失敗重跑代價高。需根據資料量和計算資源調整。

輸出一致性

批次輸出到目標系統時,應使用原子性寫入(如先寫臨時表,再 RENAME),避免讀者看到部分結果。

✦ AI 模擬面試

輸入你的答案,AI 即時分析精準度與改進空間

登入後即可使用 AI 評分