Todos os produtos
Search
Central de documentação

MaxCompute:Perguntas frequentes: operações DDL

Última atualização: Sep 07, 2026

Perguntas frequentes sobre operações DDL em tabelas, partições e colunas no MaxCompute.

Categoria

Perguntas frequentes

Operações de tabela

Operações de partição

Operações de coluna

Operações de ciclo de vida

How is old data in a partitioned table cleaned up when a 3-day lifecycle is set?

Suporte a tabelas virtuais

O MaxCompute não oferece suporte a tabelas virtuais. É possível criar uma tabela DUAL manualmente.

Suporte a índices

Não. As tabelas do MaxCompute não possuem índices. No entanto, o recurso Hash Clustering funciona de maneira semelhante a um índice de cluster em bancos de dados. Para mais informações, consulte Table operations.

Modificação do atributo Hash Clustering

  • Para adicionar o atributo Hash Clustering a uma tabela, execute o seguinte comando: alter table table_name [clustered by (col_name [, col_name, ...]) [sorted by (col_name [asc | desc] [, col_name [asc | desc] ...])] into number_of_buckets buckets];.

  • Para remover o atributo Hash Clustering de uma tabela, execute o seguinte comando: alter table table_name not clustered;.

Conversão de tabelas não particionadas para particionadas

Não é possível converter uma tabela não particionada em uma tabela particionada nem adicionar colunas de chave de partição a uma tabela existente. Crie uma nova tabela particionada. Para mais informações, consulte Table operations.

Restauração de uma tabela excluída

O MaxCompute oferece backup e recuperação com um período de retenção gratuito padrão de 24 horas, que pode ser personalizado. Caso você exclua uma tabela acidentalmente, restaure os dados dentro desse período. Para mais informações sobre backup e recuperação, consulte backup and recovery.

Consulta de tabelas por proprietário

Utilize a visualização de metadados TABLES e filtre pelo campo owner_name para encontrar tabelas criadas por um usuário específico. Para mais informações sobre TABLES, consulte TABLES.

Verificação da existência de uma tabela

Use a função TABLE_EXISTS para verificar se uma tabela específica existe. Para mais informações, consulte TABLE_EXISTS.

Obtenção de todos os nomes de tabelas em um projeto

Execute o comando show tables; na MaxCompute client ou utilize o service de metadados do MaxCompute. Para mais informações, consulte Table operations ou Information Schema.

Localização de todas as tabelas particionadas em um projeto

Execute o comando abaixo na MaxCompute client para listar todas as tabelas particionadas do seu projeto.

select table_name from information_schema.columns where is_partition_key = true group by table_name;

Verificação do último horário de acesso de uma tabela

No DataWorks, acesse a página data map, pesquise sua tabela e abra a página de detalhes. No painel Technical Information, localize os seguintes campos: Technical type, Last DDL change time, Last data modification time, Last access time e Compute engine information.

Verificação do volume de dados de uma tabela

O volume de dados de uma tabela refere-se à contagem de linhas e ao espaço físico ocupado:

  • Para verificar o espaço físico de toda a tabela, execute o comando desc. Para obter o número de linhas, execute a instrução SQL select count() as cnt from table_name;.查看物理空间

  • Para verificar o espaço físico de uma partição específica, execute o comando desc com uma cláusula WHERE. Para contar as linhas da partição, execute a instrução SQL select count() as cnt from table_name where ...;.查看分区表

Verificação da contagem de linhas de uma tabela

Execute o comando select count(*) from table_name; na MaxCompute client para verificar o número de linhas em uma tabela particionada ou não particionada.

Tabela não visível no DataWorks

Se você criar uma tabela usando uma instrução SQL em vez da creating it in the DataWorks UI, a tabela poderá levar de duas a três horas para aparecer.

Partições e colunas de chave de partição

As tabelas no MaxCompute podem ser particionadas. Uma tabela particionada possui colunas de chave de partição, utilizadas para criar as partições.

Por exemplo, em uma partição especificada como ds=20150101, ds é a coluna de chave de partição e ds=20150101 representa a partição.

Número ideal de partições

Uma tabela do MaxCompute pode ter no máximo 60.000 partições, com capacidade ilimitada por partição. Contudo, um excesso de partições pode dificultar a análise e a geração de estatísticas dos dados.

O MaxCompute impõe um limite máximo de instâncias por job. A quantidade de instâncias utilizadas depende do volume de dados de entrada e do número de partições. Portanto, escolha uma estratégia de particionamento adequada às necessidades do seu negócio.

Adição de partições a uma tabela sem chaves de partição

O MaxCompute não permite adicionar ou modificar campos de chave de partição em uma tabela existente. Crie uma nova tabela particionada e utilize uma instrução SQL de particionamento dinâmico para importar os dados da tabela source para a nova tabela. Para mais informações, consulte Insert or overwrite data into dynamic partitions (DYNAMIC PARTITION).

Verificação da existência de uma partição

Utilize a função PARTITION_EXISTS para verificar se uma partição específica existe. Para mais informações, consulte PARTITION_EXISTS.

Verificação do número de partições

Use a visualização PARTITIONS no Information Schema para obter os nomes das partições e, em seguida, conte-as.

Adição ou exclusão de colunas

O MaxCompute permite adicionar e excluir colunas. A adição de colunas de tipos de dados complexos e a exclusão de colunas estão disponíveis em preview por convite. Para solicitar um teste, consulte Apply for a trial of new features.

Adição de uma coluna

Execute o comando abaixo para adicionar colunas. Se a tabela já contiver dados, as novas colunas terão valor NULL para todas as linhas existentes.

alter table table_name add columns (col_name1 type1, col_name2 type2…);

Para mais informações sobre a sintaxe, consulte Add a column.

Configuração de uma coluna de incremento automático

O MaxCompute não oferece suporte a colunas de incremento automático. Para pequenos volumes de dados, utilize a função ROW_NUMBER como alternativa.

Número máximo de colunas por tabela

Uma única tabela do MaxCompute pode ter no máximo 1.200 colunas. Caso sua tabela ultrapasse esse limite, considere as seguintes soluções:

  • Reduza o número de dimensões dos seus dados para 1.200 colunas ou menos.

  • Altere o método de armazenamento de dados, por exemplo, utilizando tipos de dados complexos como arrays ou maps para consolidar dados relacionados.

Uso de palavras-chave como nomes de colunas

Ao utilizar uma palavra-chave para nomear uma tabela, coluna ou partição, coloque-a entre crases (). Caso contrário, ocorrerá um erro.

Modificação do tipo de dados de uma coluna

Não é possível alterar o tipo de dados de uma coluna existente. Em vez disso, crie uma nova tabela com o tipo de dados desejado e migre os dados. Para mais informações sobre tipos de dados, consulte Data type editions.

Limpeza de dados para tabelas particionadas com ciclo de vida

Quando uma partição em uma tabela com ciclo de vida configurado não é modificada dentro do período especificado, o MaxCompute a recupera automaticamente.

Execute o comando desc table_name partition(pt_spec); para verificar se uma partição antiga foi modificada dentro do período do ciclo de vida. Execute o comando desc tablename; para visualizar a configuração do ciclo de vida. O MaxCompute recupera partições expiradas diariamente às 17:00. A atualização de status no console do DataWorks pode sofrer atrasos, geralmente de até um dia.