以下為部分進階參數說明:
名稱 | 可選值 | 預設 | 說明 | 使用範圍 |
自動化佈建運行時配置 | true/false | true |
| 通用 |
全域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。 當同步任務出現延遲,且日誌中出現: 重要 增大該參數將線性增加記憶體消耗,估算公式如下: 請根據叢集資源合理配置,避免因記憶體過高引發 OOM記憶體溢出。 | MaxCompute寫入 |
非同步寫入線程池大小 | 1~100的整數 | 1 | 當同步任務出現延遲,且確認瓶頸位於寫入端時,可適當增大寫入並發數以提升吞吐。例如:單並發讀取Loghub的效能通常比寫入MaxCompute效能要好,此時可適當調大參數以提高寫入效能。 說明 但為避免 Worker 內部並發調度開銷過大,建議該參數值不超過 10。 | MaxCompute寫入 |
超長欄位處理規則 | 不處理/截斷/置空 | 不處理 | MaxCompute單欄位限制最大長度,預設為8MB,該參數控制同步任務寫入欄位長度超過8MB時處理策略。
| 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,為保證資料寫入順序一致性,需配置資料分區策略,以決定源端資料如何分發到多個寫入並發執行個體。
配置建議:
| MaxCompute寫入 |
單Worker並發數 | 1~100的整數 | 根據CU數變化 | 同步任務總並發數=單Worker並發數×Worker數。當出現資料扭曲時,可以調整該值。以源端為Loghub為例:同步任務總並發數建議等於 為減少Worker內並發調度資源消耗過大,建議單Worker並發數設定小於10。 | 通用 |
Worker數 | 1~100的整數 | 根據CU數變化 | 同步任務總並發數=單Worker並發數×Worker數,單Worker CU數太大會導致資源調度時間過長,建議Worker數設定確保單Worker CU不要超過10。 | 通用 |