全部產品
Search
文件中心

DataWorks:即時同步進階參數

更新時間:Feb 12, 2026

以下為部分進階參數說明:

名稱

可選值

預設

說明

使用範圍

自動化佈建運行時配置

true/false

true

  • true (預設):系統會根據CU數自動化佈建並發等參數。但可能因與源端Shard數不是倍數關係,導致每個讀取並發分配的Shard數不一致,出現資料扭曲問題影響效能。

  • false:手動設定參數。如遇效能問題或資料扭曲,請選擇false並手動調優。手動設定Worker數和單Worker並發數,以最佳化資料扭曲問題。

通用

全域flush間隔(秒)

5~1000的整數

60

定義了全部寫入線程將快取資料批量推送到目標端,並推進同步位點(offset)的頻率。

  • 值越大:同步輸送量越高,但資料可見延遲也越高。

  • 值越小:資料可見延遲越低,但可能影響同步輸送量。

建議:對延遲不敏感的巨量資料量同步情境可適當增大此值;對即時性要求高的情境應減小此值。

通用

failover重啟策略的時間視窗(分鐘)

1~60的整數

30

當同步任務遇到可恢複異常時,系統會根據 “failover 重啟策略的時間視窗(分鐘)” 內發生的異常次數是否超過預設閾值,判斷是否自動觸發重啟:

  • 若異常次數未超過閾值:觸發重啟,並將該時間視窗內的異常計數加一;

  • 若異常次數超過閾值:不再重啟,任務判定為失敗。

該參數定義了異常統計的時間範圍。時間視窗越小,表示系統對異常頻率的容忍度越高(即短時間內多次異常也允許重啟),有助於應對偶發性抖動。

重要

但若設定過小,可能導致任務在遭遇持續不可恢複異常時仍頻繁重啟,造成資源浪費,甚至延遲故障發現與人工幹預時機。

通用

failover重啟策略的失敗次數閾值

1~100的整數

3

在“failover重啟策略的時間視窗”內,允許任務自動重啟的最大次數。

  • 值越大:對短時間內頻繁發生的偶發錯誤的容忍度越高。

  • 值越小:能更快地將持久性問題標記為失敗,避免資源浪費。

建議:通常建議設定為一個較小的值,以在容錯和快速發現問題之間取得平衡。

通用

分區緩衝隊列大小

5~100的整數

5

寫入 MaxCompute 非 Delta 分區表時,資料按分區進行緩衝。在 全域 flush 間隔(秒) 所設定的時間視窗內,同步任務需為每個待寫入分區分配一塊獨立緩衝。
分區緩衝隊列大小 參數用於限制任務最多可同時緩衝的分區數量。

若在該時間間隔內,待寫入分區數超過隊列大小上限,系統將提前觸發 全域 flush,清空所有緩衝並提交資料。頻繁觸發全域 flush 會顯著降低寫入效率,影響整體同步效能。

建議:將 分區緩衝隊列大小 設定為 大於“全域 flush 間隔內可能產生的分區數量”,以避免過早觸發 flush。

當同步任務出現延遲,且日誌中出現:uploader map size has reached uploaderMapMaximumSize提示時,表明緩衝分區數已達上限,建議調大該參數以提升吞吐能力。

重要

增大該參數將線性增加記憶體消耗,估算公式如下:記憶體消耗 ≈ 10MB × 分區緩衝隊列大小 × Worker 數 × 單 Worker 並發數 × 非同步寫入線程池大小

請根據叢集資源合理配置,避免因記憶體過高引發 OOM記憶體溢出。

MaxCompute寫入

非同步寫入線程池大小

1~100的整數

1

當同步任務出現延遲,且確認瓶頸位於寫入端時,可適當增大寫入並發數以提升吞吐。例如:單並發讀取Loghub的效能通常比寫入MaxCompute效能要好,此時可適當調大參數以提高寫入效能。

說明

但為避免 Worker 內部並發調度開銷過大,建議該參數值不超過 10。

MaxCompute寫入

超長欄位處理規則

不處理/截斷/置空

不處理

MaxCompute單欄位限制最大長度,預設為8MB,該參數控制同步任務寫入欄位長度超過8MB時處理策略。

  • 不處理:表示將超長欄位原樣寫入,如果MaxCompute單欄位限制最大長度沒做過修改採用的預設值8MB則同步任務將異常退出。

  • 截斷:表示將欄位超過8MB的部分截斷後寫入。

  • 置空:表示丟棄所有內容寫入NULL。

MaxCompute寫入

即時任務session緩衝大小(單位位元組)

正整數

67108864(64MB)

寫入 MaxCompute Delta 表時,資料通過 bucket 進行緩衝。每個待寫入分區會建立一個 session(非分區表則建立一個全域 session),每個 session 包含多個 bucket(bucket 數量由建表時指定)。同步任務為每個 bucket 分配獨立緩衝,當 某個 session 內所有 bucket 的累計快取資料量超過該參數設定值(單位:位元組) 時,系統將觸發該 session 下所有 bucket 資料批量提交至 MaxCompute 服務端。

說明

該參數控制記憶體使用量與寫入頻率的平衡。當同步任務因緩衝佔用過高導致記憶體溢出(OOM)時,可適當減小該參數以降低記憶體峰值壓力。

MaxCompute寫入

即時任務bucket緩衝大小(單位位元組)

正整數

1048576(1MB)

寫入 MaxCompute Delta 表時,資料按 bucket 進行緩衝。每個待寫入的分區會建立一個 session(非分區表則建立一個全域 session),而每個 session 會進一步劃分為多個 bucket(bucket 數量由建表時指定)。同步任務需為每個 bucket 分配獨立緩衝,當某個 bucket 的快取資料量超過該參數設定值(單位:位元組)時,即觸發該 bucket 資料向 MaxCompute 服務端提交。

說明

該參數用於控制記憶體使用量與寫入頻率的平衡,通常無需調整,建議保持預設值。

MaxCompute寫入

動態寫磁碟閾值

正整數

寫入MaxCompute Delta表時,可指定該參數。如果待寫入分區數超過該參數設定值,則Bucket快取資料會由記憶體轉為磁碟儲存,以減少記憶體消耗。該參數設定後會降低同步效能,只在任務待寫入分區過多,記憶體消耗過大時設定。

MaxCompute寫入

單表flush並發

正整數

2

寫入MaxCompute Delta表時,該參數決定一個session支援同時推送多少個bucket的快取資料到MaxCompute服務端,通常不用修改。

MaxCompute寫入

資料分區策略

主索引值/表分區欄位值

主索引值

寫入 MaxCompute Delta 表時,若寫入並發數大於 1,為保證資料寫入順序一致性,需配置資料分區策略,以決定源端資料如何分發到多個寫入並發執行個體。

  • 主索引值分發:相同主鍵的記錄始終路由到同一個寫入並發。

    • 優勢:主鍵通常分布均勻,可有效避免資料扭曲,寫入負載更均衡。

    • 缺點:每個寫入並發需為所有待寫入分區獨立分配緩衝,記憶體佔用較高(記憶體 ≈ 並發數 × 分區數 × 緩衝開銷),可能引發 OOM。

  • 表分區欄位值分發:相同分區的記錄由同一併發處理。

    • 優勢:多個並發可共用分區緩衝,顯著降低整體記憶體消耗。

    • 缺點:若分區資料分布不均(如熱點分區),易導致部分並發負載過高,出現 寫入並發資料扭曲。

配置建議

  1. 優先設定為“主索引值”:保障寫入效能與負載平衡,適用於大多數情境;若同步任務因緩衝過大發生記憶體溢出,可切換為“表分區欄位值”以降低記憶體壓力;

  2. 切換時需評估分區資料分布是否均勻,避免引入新的效能瓶頸。

MaxCompute寫入

單Worker並發數

1~100的整數

根據CU數變化

同步任務總並發數=單Worker並發數×Worker數。當出現資料扭曲時,可以調整該值。以源端為Loghub為例:同步任務總並發數建議等於Logstore Shard最大序號-Logstore Shard最小序號+1

為減少Worker內並發調度資源消耗過大,建議單Worker並發數設定小於10。

通用

Worker數

1~100的整數

根據CU數變化

同步任務總並發數=單Worker並發數×Worker數,單Worker CU數太大會導致資源調度時間過長,建議Worker數設定確保單Worker CU不要超過10。

通用