Todos os produtos
Search
Central de documentação

MaxCompute:Limitações

Última atualização: Sep 20, 2026

Os jobs do MaxCompute MapReduce estão sujeitos aos limites a seguir. Exceder qualquer limite causa a falha do job.

Os limites se dividem em cinco categorias:

  • Memória — a memória máxima que uma única instância de map ou reduce pode usar

  • Quantidade — limites máximos para instâncias, entradas, saídas, recursos, contadores e tentativas

  • Tamanho — limites de tamanho para recursos, splits de dados e colunas STRING

  • Tempo — o tempo máximo que um worker pode executar sem ler, gravar ou enviar um heartbeat

  • Tipo de dado — os tipos de campo suportados em recursos de tabela

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

Recursos 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 de map por job

1–100.000

Quantidade

odps.stage.mapper.num

Calculado com base no tamanho do split

Sim

Instâncias de reduce por job

0–2.000

Quantidade

odps.stage.reducer.num

1/4 das instâncias de map

Sim

Tentativas por instância com falha

3

Quantidade

—

—

Não

Depuração local: instâncias de map

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

Quantidade

—

2

Não

Depuração local: instâncias de 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 recurso por instância

64

Quantidade

—

—

Não

Tamanho total de recursos por job

2 GB

Tamanho

—

—

Não

Tamanho do split

≥ 1

Tamanho

odps.stage.mapper.split.size

256 MB

Sim

Comprimento do conteúdo da coluna STRING

8 MB

Tamanho

—

—

Não

Tempo limite de execução do worker

1–3.600 segundos

Tempo

odps.function.timeout

600 segundos

Sim

Tipos de campo suportados em recursos de tabela

BIGINT, DOUBLE, STRING, DATETIME, BOOLEAN

Tipo de dado

—

—

Não

Detalhes dos limites

Memória por instância

Cada instância de map ou reduce possui dois pools de memória: a memória do framework (padrão: 2.048 MB) e a memória heap da Java Virtual Machine (JVM) (padrão: 1.024 MB). A soma dos dois valores deve ficar no intervalo de 256 MB a 12 GB. Para ajustar a alocação de memória, defina tanto odps.stage.mapper.mem quanto odps.stage.mapper.jvm.mem (ou os equivalentes do reducer).

Recursos por job

Um único job pode referenciar até 256 recursos. Cada tabela e cada arquivo compactado contam como um recurso. O tamanho total de todos os recursos referenciados não pode exceder 2 GB.

Entradas e saídas

  • Cada partição conta como uma entrada. O total de entradas não pode exceder 1.024.

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

  • O total de saídas não pode exceder 256.

Contadores personalizados

Um job pode ter até 64 contadores personalizados. O nome do grupo e o nome do contador não devem conter o sinal de número (#), e o comprimento combinado não pode exceder 100 caracteres.

Instâncias de map e reduce

O framework calcula o número de instâncias de map com base no tamanho do split. Esse é o comportamento padrão: o framework determina a quantidade automaticamente. Para alterar esse comportamento, defina odps.stage.mapper.num com um valor no intervalo de 1 a 100.000. Se nenhuma tabela de entrada for especificada, defina esse parâmetro explicitamente.

Por padrão, o número de instâncias de reduce equivale a um quarto do número de instâncias de map. Para alterar isso, defina odps.stage.reducer.num com qualquer valor no intervalo de 0 a 2.000. Uma instância de reduce pode processar uma quantidade significativamente maior de dados que uma instância de map, o que pode deixar a fase de reduce mais lenta.

Tentativas

O sistema executa novamente uma instância de map ou reduce com falha até três vezes. Algumas exceções não permitem novas tentativas e causam a falha imediata do job.

Modo de depuração local

No modo de depuração local:

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

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

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

Tempo limite de execução do worker

Um worker atinge o tempo limite quando não lê nem grava dados, nem envia um heartbeat por meio de context.progress() por um período superior ao tempo limite configurado. O tempo limite padrão é de 600 segundos (intervalo: 1 a 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 do MapReduce em projetos com schema habilitado

Não

Quando uma tarefa do MapReduce referencia um recurso de tabela, ocorre um erro se a tabela contiver campos de tipos de dados não suportados.

Nota

Se você atualizar um projeto para support schemas, não é mais possível executar os jobs do MapReduce existentes nesse projeto.