本文对MapReduce使用限制项进行说明,不遵循使用限制可能导致业务受到影响。
MaxCompute MapReduce限制项汇总,如下表所示。
边界名 | 边界值 | 分类 | 配置项名称 | 默认值 | 是否可配置 | 说明 |
---|---|---|---|---|---|---|
Instance内存占用 | [256 MB,12 GB] | 内存限制 | odps.stage.mapper(reducer).mem 和odps.stage.mapper(reducer).jvm.mem |
2048 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模式下:
|
重复读取resource次数 | 64次 | 数量限制 | - | 无 | 否 | 单个Map Instance或Reduce Instance重复读一个resource次数限制<=64次 。 |
resource字节数 | 2 GB | 长度限制 | - | 无 | 否 | 单个Job引用的resource总计字节数大小不超过2 GB。 |
split size | 大于等于1 | 长度限制 | odps.stage.mapper.split.size | 256M | 是 | 框架会参考设置的split size值来划分Map,决定Map的个数 。 |
string列内容长度 | 8 MB | 长度限制 | - | 无 | 否 | MaxCompute表STRING列内容长度不允许超出限制。 |
worker运行超时时间 | [1,3600] | 时间限制 | odps.function.timeout | 600 | 是 | Map或者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新类型。 |
在文档使用中是否遇到以下问题
更多建议
匿名提交