全部產品
Search
文件中心

MaxCompute:使用限制

更新時間:Feb 28, 2024

本文對MapReduce使用限制項進行說明,不遵循使用限制可能導致業務受到影響。

MaxCompute MapReduce限制項匯總,如下表所示。
邊界名邊界值分類配置項名稱預設值是否可配置說明
Instance記憶體佔用[256 MB,12 GB]記憶體限制odps.stage.mapper(reducer).memodps.stage.mapper(reducer).jvm.mem2048 MB+1024 MB單個Map Instance或Reduce Instance佔用Memory,有架構Memory(預設2048 MB)和JVM的Heap Memory(預設1024 MB)兩部分。
Resource數量256個數量限制-單個Job引用的Resource數量不超過256個,Table、Archive按照一個單位計算。
輸入路數和輸出路數1024個和256個數量限制-單個Job的輸入路數不能超過1024(同一個表的一個分區算一路輸入,總的不同表個數不能超過64個),單個Job的輸出路數不能超過256。
Counter數量64個數量限制-單個Job中自訂Counter的數量不能超過64,Counter的Group Name和Counter Name中不能帶有井號(#),兩者長度和不能超過100。
Map Instance [1,100000]數量限制odps.stage.mapper.num單個Job的Map Instance個數由架構根據Split Size計算得出,如果沒有輸入表,可以通過odps.stage.mapper.num直接設定,最終個數範圍[1,100000]。
Reduce Instance[0,2000]數量限制odps.stage.reducer.num單個Job預設Reduce Instance個數為Map Instance個數的1/4,使用者佈建作為最終的Reduce Instance個數,範圍[0,2000]。可能出現這樣的情形:Reduce處理的資料量會比Map大很多倍,導致Reduce階段比較慢,而Reduce只能最多2000。
重試次數3數量限制-單個Map Instance或Reduce Instance失敗重試次數為3,一些不可重試的異常會直接導致作業失敗。
Local Debug模式Instance個數不超100數量限制-
Local Debug模式下:
  • 預設Map Instance個數為2,不能超過100。
  • 預設Reduce Instance個數為1,不能超過100。
  • 預設一路輸入下載記錄數100,不能超過10000。
重複讀取Resource次數64次數量限制-單個Map Instance或Reduce Instance重複讀一個Resource次數限制<=64次。
Resource位元組數2 GB長度限制-單個Job引用的Resource總計位元組數大小不超過2 GB。
Split Size大於等於1長度限制odps.stage.mapper.split.size256 MB架構會參考設定的Split Size值來劃分Map,決定Map的個數。
STRING列內容長度8 MB長度限制-MaxCompute表STRING列內容長度不允許超出限制。
Worker運行逾時時間[1,3600]時間限制odps.function.timeout600Map或者Reduce Worker在無資料讀寫且沒有通過context.progress()主動發送心跳的情況下的逾時時間,預設值是600s。
MapReduce引用Table資源支援的欄位類型BIGINT、DOUBLE、STRING、DATETIME、BOOLEAN資料類型限制-MapReduce任務參考資料表資源時,若表欄位有其他類型欄位執行報錯。
MapReduce是否支援讀取OSS資料-功能限制-MapReduce不支援讀取OSS資料。
MapReduce是否支援MaxCompute 2.0新類型-功能限制-MapReduce不支援MaxCompute 2.0新類型。