本文介紹Log Service資料加工的使用限制。
任務配置
限制項
說明
任務數
1個Project中最多可建立100個資料加工任務。
重要資料加工任務處於停止或者運行完成狀態時,依然會佔用配額,建議及時清理停止或者運行完成狀態、並且確認不再使用的資料加工任務,減少配額佔用。更多資訊,請參見管理資料加工任務。
如您有更大的使用需求,請提工單申請。
來源資料Logstore消費組依賴
1個資料加工任務運行依賴來源資料Logstore的一個消費組執行個體。
加工任務在運行中,不能針對該任務依賴的消費組執行個體執行刪除和重設消費點位的操作,否則任務將重新從其配置的起始時間開始消費資料,可能會導致結果資料出現重複。
重要為了最佳化資料加工的運行效率,任務的Shard消費進度會定時更新至其依賴的消費組執行個體,所以該消費組執行個體的GetCheckPoint介面結果不能反映最新的加工進度。準確的加工進度資料請參考資料加工儀錶盤中的Shard消費延遲模組。
來源資料Logstore消費組數目
1個Logstore中最多可建立30個消費組,即1個來源資料Logstore最多可建立30個資料加工任務。更多資訊,請參見基礎資源。
超出此限制時,加工任務啟動後無法正常運行,任務通過其作業記錄輸出具體錯誤資訊,詳情請參考錯誤記錄檔查看方式。
重要資料加工任務處於停止或者運行完成狀態時,Log Service並不會主動刪除其依賴的消費組執行個體,建議及時清理處於停止或運行完成狀態、並且確認不再使用的資料加工任務,減少無效消費組執行個體。更多資訊,請參見管理資料加工任務。
任務時間範圍修改
運行中的任務修改了時間範圍後,將根據新指定的起始時間點開始運行,並處理新時間範圍內的所有資料。
如果需要擴充時間範圍:建議保留現有任務,新增任務補全需要擴充的時間範圍。
如果需要縮小時間範圍:已經寫到目標的資料將不會被刪除,所以建議必要時清除已經寫到目標的資料,再修改任務,以防資料重複。
輸出目標數
在1個資料加工任務中配置獨立靜態輸出目標數限制為20個。
在加工代碼中使用1個靜態輸出目標配置,動態指定Project和Logstore輸出數限制為200個。超出此限制時,寫入到新增目標的資料將被丟棄。
加工處理
限制項
說明
快速預覽
資料加工快速預覽功能用於調試資料加工代碼,使用有以下限制:
不支援串連到外部資源(RDS/OSS/SLS等),可通過自訂輸入測試維表資料。
單次請求測試未經處理資料和維表各自均不超過 1 MB 資料,超出時該請求返回錯誤。
單次請求最多返回前100條加工結果。
資料加工進階預覽功能無此限制。
運行時並發度
資料加工任務使用來源資料Logstore的讀寫Shard數目作為任務的最大運行時並發度。更多資訊,請參見加工原理。
Logstore的Shard使用限制請參考基礎資源,Logstore的分裂Shard操作請參考管理Shard。
重要資料加工任務運行並發度不足不會觸發來源資料Logstore的自動分裂Shard功能,需要手動分裂來源資料Logstore的Shard,才能提高加工任務的運行並發度。自動分裂Shard操作請參考管理Shard。
分裂來源資料Logstore的Shard提升任務的最大運行時並發度,只對分裂Shard操作以後新寫入的資料有效。在分裂Shard操作之前已寫入的資料,其最大運行時並發度由資料寫入時的來源資料Logstore讀寫Shard數目決定。
並發單中繼資料負載
資料加工任務單個並發單元的資料負載,由其所啟動並執行來源資料Logstore Shard中儲存資料量所決定。如果寫入來源資料Logstore的資料在其Shard間分布不均衡,會使得資料加工任務運行時出現熱點並發單元,導致部分Shard處理延遲。
如果來源資料通過Key路由Shard模式(KeyHash)寫入,建議合理分配Key與Shard,儘可能減少資料分布不均衡。
記憶體使用量
資料加工任務單個並發單元的記憶體使用量限制為6 GB,超過此限制時任務運行效能將變慢,導致處理延遲。
記憶體使用量超限制的引起原因是單次拉取的LogGroup數量過大,需要修改進階參數
system.process.batch_size來調整記憶體使用量。重要進階參數
system.process.batch_size的預設值(最大值)是1000,可以調整為1000以內的正整數。CPU使用
資料加工任務單個並發單元的CPU使用限制為100%,可以根據上文擴充並發度上限實現更高的CPU要求。
維表資料量
維表資料條目數限制為兩百萬,資料記憶體使用量限制為2 GB。資料量超過該限制時,將做截斷處理,使用限制內的資料內容。涉及函數包括res_rds_mysql、res_log_logstore_pull和res_oss_file等。
重要單個任務中如果包含多個維表,將共用此限制。建議盡量精簡維表資料。
結果資料寫入
限制項
說明
目標Logstore寫入
將處理結果寫入目標Logstore時,需要滿足Logstore的資料寫入限制,具體請參考基礎資源和資料讀寫。
如果在使用e_output、e_coutput函數時,指定
hash_key_field或者hash_key參數且通過Key路由Shard模式(KeyHash)寫入資料至目標Logstore,建議合理分配Key與Shard,儘可能減少資料分布不均衡。此限制可通過資料加工任務日誌進行定位,參考錯誤記錄檔查看方式。
重要資料加工在遇到目標Logstore寫入限制錯誤時會執行無限重試,以保證資料完整,但是加工任務進度會因此受影響,導致負責當前源Shard的負載處理延遲。
跨地區傳輸
通過公網Endpoint完成跨地區資料轉送時,由於公網網路品質無法保證,加工結果寫入目標Logstore可能會出現網路錯誤,導致資料加工任務處理延遲。Log ServiceEndpoint請參考服務入口。
建議為目標Project開啟傳輸加速服務,並在資料加工中配置其傳輸加速Endpoint以提高網路傳輸穩定性。更多資訊,請參見管理傳輸加速。