本文介紹日志服務數據加工的使用限制。
任務配置
限制項 | 說明 |
任務數 | 1個Project中最多可創建100個數據加工任務。 重要 數據加工任務處于停止或者運行完成狀態時,依然會占用配額,建議及時清理停止或者運行完成狀態、并且確認不再使用的數據加工任務,減少配額占用。更多信息,請參見管理數據加工任務。 如您有更大的使用需求,請提工單申請。 |
源數據Logstore消費組依賴 | 1個數據加工任務運行依賴源數據Logstore的一個消費組實例。 加工任務在運行中,不能針對該任務依賴的消費組實例執行刪除和重置消費點位的操作,否則任務將重新從其配置的起始時間開始消費數據,可能會導致結果數據出現重復。 重要 為了優化數據加工的運行效率,任務的Shard消費進度會定時更新至其依賴的消費組實例,所以該消費組實例的GetCheckPoint接口結果不能反映最新的加工進度。準確的加工進度數據請參考數據加工儀表盤中的Shard消費延遲模塊。 |
源數據Logstore消費組數目 | 1個Logstore中最多可創建30個消費組,即1個源數據Logstore最多可創建30個數據加工任務。更多信息,請參見基礎資源。 超出此限制時,加工任務啟動后無法正常運行,任務通過其運行日志輸出具體錯誤信息,詳情請參考錯誤日志查看方式。 重要 數據加工任務處于停止或者運行完成狀態時,日志服務并不會主動刪除其依賴的消費組實例,建議及時清理處于停止或運行完成狀態、并且確認不再使用的數據加工任務,減少無效消費組實例。更多信息,請參見管理數據加工任務。 |
任務時間范圍修改 | 運行中的任務修改了時間范圍后,將根據新指定的起始時間點開始運行,并處理新時間范圍內的所有數據。
|
輸出目標數 | 在1個數據加工任務中配置獨立靜態輸出目標數限制為20個。 在加工代碼中使用1個靜態輸出目標配置,動態指定Project和Logstore輸出數限制為200個。超出此限制時,寫入到新增目標的數據將被丟棄。 |
加工處理
限制項 | 說明 |
快速預覽 | 數據加工快速預覽功能用于調試數據加工代碼,使用有以下限制:
數據加工高級預覽功能無此限制。 |
運行時并發度 | 數據加工任務使用源數據Logstore的讀寫Shard數目作為任務的最大運行時并發度。更多信息,請參見加工原理。 Logstore的Shard使用限制請參考基礎資源,Logstore的分裂Shard操作請參考管理Shard。 重要
|
并發單元數據負載 | 數據加工任務單個并發單元的數據負載,由其所運行的源數據Logstore Shard中存儲數據量所決定。如果寫入源數據Logstore的數據在其Shard間分布不均衡,會使得數據加工任務運行時出現熱點并發單元,導致部分Shard處理延遲。 如果源數據通過Key路由Shard模式(KeyHash)寫入,建議合理分配Key與Shard,盡可能減少數據分布不均衡。 |
內存使用 | 數據加工任務單個并發單元的內存使用限制為6 GB,超過此限制時任務運行性能將變慢,導致處理延遲。 內存使用超限制的引起原因是單次拉取的LogGroup數量過大,需要修改高級參數 重要 高級參數 |
CPU使用 | 數據加工任務單個并發單元的CPU使用限制為100%,可以根據上文擴展并發度上限實現更高的CPU要求。 |
維表數據量 | 維表數據條目數限制為兩百萬,數據內存使用限制為2 GB。數據量超過該限制時,將做截斷處理,使用限制內的數據內容。涉及函數包括res_rds_mysql、res_log_logstore_pull和res_oss_file等。 重要 單個任務中如果包含多個維表,將共享此限制。建議盡量精簡維表數據。 |
結果數據寫入
限制項 | 說明 |
目標Logstore寫入 | 將處理結果寫入目標Logstore時,需要滿足Logstore的數據寫入限制,具體請參考基礎資源和數據讀寫。 如果在使用e_output、e_coutput函數時,指定 此限制可通過數據加工任務日志進行定位,參考錯誤日志查看方式。 重要 數據加工在遇到目標Logstore寫入限制錯誤時會執行無限重試,以保證數據完整,但是加工任務進度會因此受影響,導致負責當前源Shard的負載處理延遲。 |
跨地域傳輸 | 通過公網Endpoint完成跨地域數據傳輸時,由于公網網絡質量無法保證,加工結果寫入目標Logstore可能會出現網絡錯誤,導致數據加工任務處理延遲。日志服務Endpoint請參考服務入口。 建議為目標Project開啟傳輸加速服務,并在數據加工中配置其傳輸加速Endpoint以提高網絡傳輸穩定性。更多信息,請參見管理傳輸加速。 |