Todos os produtos
Search
Central de documentação

MaxCompute:Limitações

Última atualização: Jun 26, 2026

Os jobs do MaxCompute MapReduce estão sujeitos às limitações descritas a seguir. A execução falhará caso algum desses limites seja excedido.

As restrições dividem-se em cinco categorias:

  • Memória: capacidade máxima de memória disponível para uma única instância map ou reduce.

  • Quantidade: tetos aplicáveis a instâncias, entradas, saídas, resources, contadores e tentativas de repetição.

  • Tamanho: restrições de tamanho para resources, divisões de dados e colunas do tipo string.

  • Tempo: duração máxima permitida para um worker permanecer ativo sem ler, gravar ou enviar heartbeat.

  • Tipo de dado: tipos de campo compatíveis com table resources.

Tabela de limites

Limite

Valor

Categoria

Parâmetro de configuração

Padrão

Configurável

Memória por instância

256 MB–12 GB

Memória

odps.stage.mapper(reducer).mem e odps.stage.mapper(reducer).jvm.mem

2.048 MB + 1.024 MB

Sim

Resources por job

256

Quantidade

Não

Entradas por job

1.024

Quantidade

Não

Saídas por job

256

Quantidade

Não

Tabelas distintas em todas as entradas

64

Quantidade

Não

Contadores personalizados por job

64

Quantidade

Não

Instâncias map por job

1–100.000

Quantidade

odps.stage.mapper.num

Calculado com base no tamanho da divisão

Sim

Instâncias reduce por job

0–2.000

Quantidade

odps.stage.reducer.num

1/4 das instâncias map

Sim

Tentativas por instância com falha

3

Quantidade

Não

Depuração local: instâncias map

2 (padrão), máx. 100

Quantidade

2

Não

Depuração local: instâncias reduce

1 (padrão), máx. 100

Quantidade

1

Não

Depuração local: registros baixados por entrada

100 (padrão), máx. 10.000

Quantidade

100

Não

Leituras repetidas de um mesmo resource por instância

64

Quantidade

Não

Tamanho total de resources por job

2 GB

Tamanho

Não

Tamanho da divisão

≥ 1

Tamanho

odps.stage.mapper.split.size

256 MB

Sim

Comprimento do conteúdo da coluna STRING

8 MB

Tamanho

Não

Timeout de execução do worker

1–3.600 segundos

Tempo

odps.function.timeout

600 segundos

Sim

Tipos de campo suportados em table resources

BIGINT, DOUBLE, STRING, DATETIME, BOOLEAN

Tipo de dado

Não

Detalhes dos limites

Memória por instância

Cada instância map ou reduce possui dois pools de memória: memória do framework (padrão de 2.048 MB) e memória heap da Java Virtual Machine (JVM) (padrão de 1.024 MB). A soma total deve permanecer dentro da faixa de 256 MB a 12 GB. Ao ajustar a alocação de memória, modifique tanto odps.stage.mapper.mem quanto odps.stage.mapper.jvm.mem (ou os equivalentes para reducer).

Resources por job

Um único job pode referenciar até 256 resources. Cada tabela e cada arquivo compactado conta como um resource. O tamanho combinado de todos os resources referenciados não pode ultrapassar 2 GB.

Entradas e saídas

  • Cada partição individual é considerada uma entrada, sendo o limite máximo de 1.024 entradas.

  • O número total de tabelas distintas entre todas as entradas não pode exceder 64.

  • A quantidade máxima de saídas permitida é de 256.

Contadores personalizados

É possível definir até 64 contadores personalizados por job. Nem o Group Name nem o Counter Name podem conter o caractere cerquilha (#), e o comprimento combinado de ambos não deve ultrapassar 100 caracteres.

Instâncias map e reduce

O framework calcula automaticamente o número de instâncias map com base no tamanho da divisão. Para substituir esse comportamento padrão, defina odps.stage.mapper.num com um valor entre 1 e 100.000. Caso nenhuma tabela de entrada seja especificada, a definição explícita desse parâmetro é obrigatória.

Por padrão, a quantidade de instâncias reduce corresponde a um quarto do número de instâncias map. Defina odps.stage.reducer.num com qualquer valor entre 0 e 2.000 para alterar essa proporção. Vale ressaltar que uma instância reduce pode processar um volume de dados significativamente maior que uma instância map, o que pode tornar a fase de redução mais lenta.

Tentativas de repetição

O sistema tenta reexecutar uma instância map ou reduce com falha até três vezes. Certas exceções não permitem repetição e causam a falha imediata do job.

Modo de depuração local

No modo de depuração local, aplicam-se os seguintes limites:

  • Instâncias map: padrão de 2, máximo de 100.

  • Instâncias reduce: padrão de 1, máximo de 100.

  • Registros baixados por entrada: padrão de 100, máximo de 10.000.

Timeout de execução do worker

Um worker atinge o timeout quando permanece inativo — sem ler ou gravar dados e sem enviar heartbeat via context.progress() — por um período superior ao tempo limite configurado. O timeout padrão é de 600 segundos (faixa ajustável: 1–3.600 segundos). Para jobs com longos intervalos de processamento entre operações de I/O, defina odps.function.timeout com um valor mais alto.

Limites de recursos

Recurso

Suportado

Leitura de dados do OSS (Object Storage Service)

Não

Novos tipos de dados introduzidos no MaxCompute V2.0

Não

Execução de jobs MapReduce em projetos com schema habilitado

Não

Quando uma tarefa MapReduce referencia um table resource, o sistema reporta erro se a tabela contiver campos com tipos de dados não suportados.

Nota

Ao atualizar um projeto para suportar schemas, os jobs MapReduce existentes nesse projeto deixarão de ser executados.