Todos os produtos
Search
Central de documentação

MaxCompute:Gerencie o ciclo de vida da tabela

Última atualização: Jun 26, 2026

Configure o ciclo de vida da tabela para recuperar automaticamente dados inalterados. Isso reduz custos de armazenamento e mantém os dados atualizados.

Ciclo de vida

O MaxCompute recupera automaticamente tabelas ou partições cujos dados permanecem inalterados além do ciclo de vida configurado. O sistema verifica diariamente a existência de dados expirados.

  • Se o LastModifiedTime de uma tabela não particionada exceder o ciclo de vida, o MaxCompute recuperará os dados e excluirá a tabela.

  • Em tabelas particionadas, o MaxCompute recupera partições individuais com base nos respectivos valores de LastModifiedTime. A tabela permanece mesmo após a recuperação da última partição.

    Para excluir automaticamente a tabela após a recuperação da última partição, use um dos métodos abaixo:

    Nota

    As configurações no nível da tabela têm precedência sobre as configurações no nível do projeto.

    • Configurações no nível do projeto

      -- Automatically delete the table after the last partition of the table is reclaimed.
      setproject odps.table.lifecycle.deletemeta.on.expiration=true;
      
      -- Retain the table by default after the last partition is reclaimed.
      setproject odps.table.lifecycle.deletemeta.on.expiration=false;
    • Configurações no nível da tabela

      --- Create a table and configure a lifecycle-related parameter to allow the table to be automatically deleted after the last partition of the table is reclaimed.
      CREATE TABLE <Table_Name>(id int, name string)
           partitioned BY (ds string)
           tblproperties ('lifecycle.deletemeta'='true')
           lifecycle  1;
      --- If a table exists, configure a lifecycle-related parameter to allow the table to be automatically deleted after the last partition of the table is reclaimed.
      ALTER TABLE <table_name> SET tblproperties('lifecycle.deletemeta'='true');
      
      -- Retain the table by default after the last partition is reclaimed.
      ALTER TABLE <table_name> SET tblproperties('lifecycle.deletemeta'='false');
      

Observações de uso

  • Dependências de agendamento de tarefas não impedem a recuperação de dados após a expiração do ciclo de vida.

  • O ciclo de vida aplica-se à tabela particionada inteira. Não é possível configurar o ciclo de vida no nível da partição.

  • Por padrão, os dados recuperados ficam retidos na lixeira por um dia. Depois desse período, são excluídos permanentemente e não podem ser recuperados.

  • A recuperação pode não ocorrer imediatamente após a expiração do ciclo de vida, pois depende da disponibilidade do sistema.

  • Operações de escrita, atualização ou exclusão de dados modificam o LastModifiedTime. Alterar o valor do ciclo de vida não modifica esse campo.

Configure o ciclo de vida da tabela

Defina o ciclo de vida durante a criação da tabela

  • Sintaxe

    -- Create a table. 
     CREATE [external] TABLE [if not exists] <table_name>
     [(<col_name> <data_type> [default <default_value>] [comment <col_comment>], ...)]
     [comment <table_comment>]
     [partitioned BY (<col_name> <data_type> [comment <col_comment>], ...)]
     -- Configure the shuffle and sort properties of a clustered table that you want to create. 
     [clustered BY | range clustered BY (<col_name> [, <col_name>, ...]) [sorted BY (<col_name> [ASC | DESC] [, <col_name> [ASC | DESC] ...])] INTO <number_of_buckets> buckets] 
     -- Used only for external tables. 
     [stored by StorageHandler] 
     -- Used only for external tables. 
     [with serdeproperties (options)] 
     -- Used only for external tables. 
     [location <osslocation>] 
     -- Configure the lifecycle for the table.
     lifecycle <days>;
    
    -- Create a table based on an existing table and replicate the schema of the existing table. You can execute the CREATE TABLE statement to create a table based on an external table or an existing table of an external project that is used to implement the data lakehouse solution. 
    create table [if not exists] <table_name> like <existing_table_name> [lifecycle <days>];
  • Parâmetros

    • table_name: obrigatório. Nome da tabela.

    • days: obrigatório. Duração do ciclo de vida como um número inteiro positivo. Unidade: dias.

      Nota

      Esta seção aborda apenas parâmetros relacionados ao ciclo de vida. Para mais informações sobre os parâmetros de criação de tabela, consulte Crie uma tabela.

  • Exemplo

    -- Create the test_lifecycle table with the lifecycle of 100 days. 
    CREATE TABLE test_lifecycle (key string) lifecycle 100;

Configure ou modifique o ciclo de vida de uma tabela existente

Execute a instrução a seguir para modificar o ciclo de vida de uma tabela existente.

  • Sintaxe

    ALTER TABLE <Table_Name> SET lifecycle <days>;
  • Parâmetros

    • table_name: obrigatório. Nome da tabela.

    • days: obrigatório. Nova duração do ciclo de vida como um número inteiro positivo. Unidade: dias.

  • Exemplo

    -- Change the lifecycle of the test_lifecycle table to 50 days. 
    ALTER TABLE test_lifecycle set lifecycle 50;
  • Desative ou restaure o ciclo de vida da tabela

    • Sintaxe

      ALTER TABLE <table_name> [<pt_spec>] {enable|disable} lifecycle;
    • Parâmetros

      • table_name: obrigatório. Nome da tabela.

      • pt_spec: opcional. Partição de destino. Para partições multinível, especifique todas as colunas de chave de partição no formato partition_col1=col1_value1, partition_col2=col2_value1....

      • enable e disable: restauram ou desativam o ciclo de vida de uma tabela ou partição.

        Nota
        • Antes de restaurar o ciclo de vida, verifique o valor configurado para evitar recuperação indesejada de dados.

        • A desativação no nível da tabela substitui a ativação no nível da partição. Se o ciclo de vida da tabela estiver desativado, table disable lifecycle prevalece sobre pt_spec enable lifecycle.

        • Desativar o ciclo de vida preserva as configurações. Você ainda pode modificar os valores do ciclo de vida enquanto ele estiver desativado.

      • Exemplos

        • Exemplo 1: Desative o ciclo de vida da tabela trans.

          ALTER TABLE trans disable lifecycle;
        • Exemplo 2: Desative o ciclo de vida da partição dt='20141111' na tabela trans.

          ALTER TABLE trans partition (dt='20141111') disable lifecycle;