Este tópico descreve os limites de uso do MaxCompute.
Antes de usar o MaxCompute, conheça seus limites de uso para garantir a operação adequada dos seus negócios. Confira os limites a seguir:
Cota de recursos de computação por assinatura
A cota padrão de compra para recursos de computação por assinatura do MaxCompute é de 2.000 CUs.
Para adquirir mais de 2.000 CUs, use sua conta Alibaba Cloud para enviar um ticket. Analisaremos sua solicitação em até três dias úteis e notificaremos o resultado por mensagem de texto.
Limites de recursos da Standard Edition no modelo pagamento conforme o uso
O MaxCompute limita os recursos de computação (CUs) da Standard Edition no modelo pagamento conforme o uso que um único usuário pode consumir por região. Essa restrição evita que um único usuário monopolize os recursos do cluster e impeça outros usuários de enviarem jobs.
País ou área | Região | Limite de CU |
Regiões na China | China (Hangzhou), China (Shanghai), China (Beijing), China (Zhangjiakou), China (Ulanqab), China (Shenzhen), China (Shanghai) Finance, China (Beijing) Gov, China (Shenzhen) Finance | 2.000 |
China (Chengdu), China (Hong Kong) | 500 | |
Outros países ou áreas | Singapore (Singapore), Malaysia (Kuala Lumpur), Indonesia (Jakarta), Japan (Tokyo), Germany (Frankfurt), US (Silicon Valley), US (Virginia), UK (London), UAE (Dubai) | 500 |
Esses limites de CU representam valores máximos, não garantias. O MaxCompute pode exceder esses limites para acelerar consultas.
Limites de compra de slots do serviço Tunnel por assinatura
O limite padrão de compra para slots do serviço Tunnel por assinatura no MaxCompute é de 500. Para adquirir mais de 500 slots, envie um ticket.
Tunnel: Limites de upload e download
Para obter informações sobre os limites de uploads e downloads de dados no MaxCompute, consulte Visão geral do Tunnel.
Para saber mais sobre uploads e downloads de dados, consulte Cenários e ferramentas de upload de dados.
Limites de SQL
Estes limites aplicam-se a jobs SQL no MaxCompute.
Item | Limite | Categoria | Descrição |
Comprimento do nome da tabela | 128 bytes | Limite de comprimento | O nome da tabela não pode conter caracteres especiais, deve começar com uma letra e incluir apenas letras (a-z, A-Z), dígitos e sublinhados (_). |
Comprimento do nome da coluna | 128 bytes | Limite de comprimento |
|
Comprimento do comentário | 1.024 bytes | Limite de comprimento | Um comentário deve ser uma string válida que não exceda 1.024 bytes. |
Colunas por tabela | 1.200 | Limite de quantidade | Uma tabela suporta no máximo 1.200 colunas. |
Partições por tabela | 60.000 | Limite de quantidade | Uma tabela suporta no máximo 60.000 partições. |
Níveis de partição por tabela | 6 | Limite de quantidade | Uma tabela suporta no máximo seis níveis de partição. |
Exibição na tela | 10.000 linhas | Limite de quantidade | Uma instrução SELECT exibe no máximo 10.000 linhas na tela. |
Tabelas de destino para | 256 | Limite de quantidade | Uma instrução |
| 256 | Limite de quantidade | Uma instrução |
| 128 | Limite de quantidade | Em uma operação |
Limite de memória do | 512 MB | Limite de quantidade | Em uma operação |
| 1.000 linhas | Limite de quantidade | Se uma subconsulta contiver uma coluna de partição, ela retornará no máximo 1.000 linhas. |
Comprimento da instrução SQL | 2 MB | Limite de comprimento | Uma instrução SQL não pode exceder 2 MB. Este limite também se aplica a instruções SQL executadas por meio de um SDK. |
Tamanho da célula | 8 MB | Limite de quantidade | Os dados em uma única célula da tabela não podem exceder 8 MB. |
Número de parâmetros em uma cláusula IN | 1.024 | Limite de quantidade | Recomenda-se no máximo 1.024 parâmetros em uma cláusula |
Tamanho do | 1 MB | Limite de comprimento | O tamanho do |
Views | Não graváveis | Limite de operação | As views são somente leitura e não suportam operações |
Tipo de dados da coluna | Não modificável | Limite de operação | Não modifique o tipo de dados ou a posição de uma coluna existente. |
Função definida pelo usuário (UDF) Java | Não pode ser | Limite de operação | Não defina uma UDF Java como |
Número máximo de partições para consulta | 10.000 | Limite de quantidade | Uma consulta verifica no máximo 10.000 partições. |
Tamanho do plano de execução SQL | 1 MB | Limite de comprimento | O plano de execução gerado pelo MaxCompute SQL não pode exceder 1 MB. Caso contrário, o job falhará e retornará o seguinte erro: |
Duração máxima de execução do job | 72 horas | Limite de tempo de execução | Por padrão, a duração máxima de execução para um único job SQL é de 24 horas. Estenda esse limite para 72 horas usando o comando abaixo. O sistema encerra automaticamente qualquer job executado por mais de 72 horas. |
Frequência de criação de partições | 120 vezes/15 segundos | Limite de frequência | Execute a operação |
Para obter mais informações sobre SQL, consulte SQL.
Limites do MapReduce
A tabela a seguir lista os limites para o desenvolvimento de jobs MapReduce no MaxCompute.
|
Limite |
Valor |
Categoria |
Parâmetro de configuração |
Padrão |
Configurável |
|
Memória por instância |
256 MB–12 GB |
Memória |
|
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 Map por job |
1–100.000 |
Quantidade |
|
Calculado com base no tamanho do split |
Sim |
|
Instâncias Reduce por job |
0–2.000 |
Quantidade |
|
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 recurso por instância |
64 |
Quantidade |
— |
— |
Não |
|
Tamanho total de recursos por job |
2 GB |
Comprimento |
— |
— |
Não |
|
Tamanho do split |
≥ 1 |
Comprimento |
|
256 MB |
Sim |
|
Comprimento do conteúdo da coluna STRING |
8 MB |
Comprimento |
— |
— |
Não |
|
Tempo limite de execução do Worker |
1–3.600 segundos |
Tempo |
|
600 segundos |
Sim |
|
Tipos de campo suportados em recursos de tabela |
BIGINT, DOUBLE, STRING, DATETIME, BOOLEAN |
Tipo de dados |
— |
— |
Não |
Para obter mais informações sobre o MapReduce, consulte MapReduce.
Limitações do PyODPS
As seguintes limitações aplicam-se ao desenvolvimento de jobs PyODPS no MaxCompute usando o DataWorks:
Um nó PyODPS processa no máximo 50 MB de dados locais e consome até 1 GB de memória. Se um nó exceder esses limites, o sistema encerrará o job. Evite adicionar código desnecessário de processamento de dados Python aos seus jobs PyODPS.
Para desenvolver e depurar com mais eficiência, escreva seu código em uma IDE local em vez de usar diretamente a interface do usuário do DataWorks.
Para evitar sobrecarga excessiva no gateway do DataWorks, a plataforma limita o uso de memória e CPU para o PyODPS. O erro
Got killedindica que o processo foi encerrado por exceder o limite de memória. Para prevenir essa situação, evite realizar operações de dados localmente. Esses limites não se aplicam a jobs SQL ou DataFrame (exceto parato_pandas) iniciados pelo PyODPS.-
Os seguintes recursos têm limitações porque pacotes como
matplotlibnão estão disponíveis:A função
plotdo DataFrame está indisponível.Envie as funções definidas pelo usuário (UDFs) do DataFrame ao MaxCompute para execução. Devido às restrições do sandbox do Python, as únicas bibliotecas de terceiros suportadas são bibliotecas Python puras e NumPy. Não use pandas diretamente em UDFs.
Para código fora das UDFs, utilize os pacotes NumPy e pandas pré-instalados no DataWorks. Pacotes de terceiros com código binário não são suportados.
Por motivos de compatibilidade, o DataWorks define options.tunnel.use_instance_tunnel como
Falsepor padrão. Para ativar o InstanceTunnel globalmente, defina manualmente este valor comoTrue.Devido a questões de implementação, o pacote Python atexit não é suportado. Utilize um bloco try-finally como alternativa.
Para obter mais informações sobre o PyODPS, consulte PyODPS.
Limites de jobs simultâneos
A tabela a seguir lista o número máximo de jobs simultâneos em um único projeto do MaxCompute para cada região.
|
Região |
Máximo de jobs simultâneos |
|
China (Hangzhou), China (Shanghai), China (Beijing), China (Zhangjiakou), China (Ulanqab), China (Shenzhen) e China (Chengdu) |
2.500 |
|
China (Hong Kong), Singapore, Malaysia (Kuala Lumpur), Indonesia (Jakarta), Japan (Tokyo), Germany (Frankfurt), US (Silicon Valley), US (Virginia), UK (London) e UAE (Dubai) |
1.000 |
O envio de um job que exceda o limite de simultaneidade de um projeto do MaxCompute retorna um erro. Exemplo: com.aliyun.odps.OdpsException: Request rejected by flow control. You have exceeded the limit for the number of tasks you can run concurrently in this project. Please try later.