This topic describes the limits of MaxCompute MapReduce. Your business may be affected if these limits are violated.

The following table describes the limits of MaxCompute MapReduce.
Item Value range Classification Configuration item Default value Configurable Description
Memory occupied by an instance [256 MB,12 GB] Memory odps.stage.mapper(reducer).mem and odps.stage.mapper(reducer).jvm.mem 2048 MB and 1024 MB Yes The memory occupied by a single Map or Reduce instance. It consists of the framework memory (2048 MB by default) and JVM heap memory (1024 MB by default).
Number of resources 256 Quantity N/A None No Each job can reference up to 256 resources. Each table or archive is considered as one resource.
Numbers of inputs and outputs 1,024 and 256 Quantity N/A None No The number of the inputs of a job cannot exceed 1,024, and that of the outputs of a job cannot exceed 256. A partition of a table is regarded as one input. The number of tables cannot exceed 64.
Number of counters 64 Quantity N/A None No The number of custom counters in a job cannot exceed 64. The counter group name and counter name cannot contain number signs (#), and the total length of both names cannot exceed 100 characters.
Number of Map instances [1,100000] Quantity odps.stage.mapper.num None Yes The number of Map instances in a job is calculated by the framework based on the split size. If no input table is specified, you can use odps.stage.mapper.num to set the number of Map instances. The value ranges from 1 to 100000.
Number of Reduce instances [0,2000] Quantity odps.stage.reducer.num None Yes By default, the number of Reduce instances in a job is 25% of the number of Map instances. You can set the number to a value that ranges from 0 to 2000. Reduce instances process much more data than Map instances, which may result in slower data processing in the Reduce stage. A job can have 2,000 Reduce instances at most.
Number of retries 3 Quantity N/A None No The maximum number of retries allowed for a Map or Reduce instance is 3. Exceptions that do not allow retries may cause tasks to fail.
Local debug mode A maximum of 100 instances Quantity N/A None No
In local debug mode:
  • The number of Map instances is 2 by default and cannot exceed 100.
  • The number of Reduce instances is 1 by default and cannot exceed 100.
  • The number of download records for one input is 100 by default and cannot exceed 10,000.
Number of times a resource is read repeatedly 64 Quantity N/A None No The number of times that a Map or Reduce instance repeatedly reads one resource cannot exceed 64.
Resource bytes 2 GB Length N/A None No The total bytes of resources referenced by a job cannot exceed 2 GB.
Split size Greater than or equal to 1 Length odps.stage.mapper.split.size 256 MB Yes The framework determines the number of Map instances based on the split size.
Length of a string in a column 8 MB Length N/A None No The length of a string in a column cannot exceed 8 MB.
Worker timeout period [1,3600] Time odps.function.timeout 600 Yes The timeout period of a Map or Reduce worker when the worker does not read or write data, or stops sending heartbeats by using context.progress().The default value is 600 seconds.
Field types supported by tables referenced by MapReduce BIGINT, DOUBLE, STRING, DATETIME, and BOOLEAN Data type N/A None No When a MapReduce task references a table, an error is returned if the table has field types that are not supported.
OSS data read N/A Feature N/A None No MapReduce cannot read OSS data.
New data types in MaxCompute V2.0 N/A Feature N/A None No MapReduce does not support the new data types in MaxCompute V2.0.