Atualize, gerencie o ciclo de vida ou exclua partições de uma materialized view.
Visão geral do comando
Esta instrução oferece suporte às seguintes operações:
Atualizar uma materialized view
Operações de inserção, sobrescrita, atualização ou exclusão na tabela ou partição subjacente invalidam a materialized view e impedem a reescrita de consultas. Verifique o status da materialized view e atualize-a quando estiver inválida. Para mais informações, consulte Consultar o status de uma materialized view.
-
Notas de uso
Materialized views oferecem suporte apenas à atualização completa, não à incremental.
Use o recurso de agendamento do DataWorks para atualizar materialized views periodicamente. Para mais informações, consulte Configurações de agendamento.
-
Sintaxe
ALTER MATERIALIZED VIEW [<project_name>.]<mv_name> REBUILD [PARTITION (<ds>=max_pt(<table_name>),<expression1>...)]; -
Parâmetros
Parâmetro
Obrigatório
Descrição
project_name
Não
Nome do projeto MaxCompute que contém a materialized view. Se você omitir esse parâmetro, o sistema usará o projeto MaxCompute atual. Para localizar o nome do projeto, faça login no console do MaxCompute, selecione a região apropriada no canto superior esquerdo e acesse a página Projects.
mv_name
Sim
Nome da materialized view a ser atualizada.
ds
Não
Nome da coluna de partição da materialized view.
max_pt
Não
Função que retorna o valor máximo de partição do table_name especificado. O table_name pode referenciar uma tabela ou uma materialized view.
expression
Não
Expressão que filtra as partições a serem atualizadas em uma materialized view particionada.
-
Exemplos
-
Exemplo 1: Atualizar uma materialized view não particionada. Comando de exemplo:
-- Create a non-partitioned table. CREATE TABLE count_test(a BIGINT, b BIGINT); -- Create a non-partitioned materialized view. CREATE MATERIALIZED VIEW count_mv LIFECYCLE 7 AS SELECT COUNT(*) FROM count_test; -- Refresh the non-partitioned materialized view. ALTER MATERIALIZED VIEW count_mv rebuild; -
Exemplo 2: Atualizar uma partição específica de uma materialized view particionada. Comando de exemplo:
ALTER MATERIALIZED VIEW mv REBUILD PARTITION (ds='20210101'); -
Exemplo 3: Atualizar partições que correspondem a uma condição especificada. Comando de exemplo:
ALTER MATERIALIZED VIEW mv REBUILD PARTITION(ds>='20210101', ds<='20210105');
-
Alterar o ciclo de vida de uma materialized view
Especifique uma nova duração de ciclo de vida, em dias, para uma materialized view.
-
Sintaxe
ALTER MATERIALIZED VIEW [<project_name>.]<mv_name> SET LIFECYCLE <days>; -
Parâmetros
Parâmetro
Obrigatório
Descrição
project_name
Não
Nome do projeto MaxCompute que contém a materialized view. Se você omitir esse parâmetro, o sistema usará o projeto MaxCompute atual. Para localizar o nome do projeto, faça login no console do MaxCompute, selecione a região apropriada no canto superior esquerdo e acesse a página Projects.
mv_name
Sim
Nome da materialized view a ser atualizada.
days
Sim
Novo ciclo de vida da materialized view, em dias.
-
Exemplo
-- Set the lifecycle of the materialized view to 10 days. ALTER MATERIALIZED VIEW mv SET LIFECYCLE 10;
Ativar ou desativar o ciclo de vida
Controle se uma materialized view ou uma partição específica expira automaticamente.
-
Sintaxe
ALTER MATERIALIZED VIEW [<project_name>.]<mv_name> [<pt_spec>] enable|disable LIFECYCLE; -
Parâmetros
Parâmetro
Obrigatório
Descrição
project_name
Não
Nome do projeto MaxCompute que contém a materialized view. Se você omitir esse parâmetro, o sistema usará o projeto MaxCompute atual. Para localizar o nome do projeto, faça login no console do MaxCompute, selecione a região apropriada no canto superior esquerdo e acesse a página Projects.
mv_name
Sim
Nome da materialized view para a qual se deseja ativar ou desativar o ciclo de vida.
pt_spec
Não
Partição para a qual se deseja ativar ou desativar o ciclo de vida. Se você omitir esse parâmetro, a operação se aplicará a toda a materialized view. O formato é
(partition_col1 = partition_col_value1, partition_col2 = partition_col_value2, ...). partition_col é uma coluna de partição e partition_col_value é seu valor.enable\
disable
Sim
enableativa a regra de ciclo de vida.disabledesativa a regra de ciclo de vida e impede que a partição ou materialized view especificada expire automaticamente. -
Exemplos
-
Exemplo 1: Ativar o gerenciamento de ciclo de vida para uma materialized view. Comando de exemplo:
ALTER MATERIALIZED VIEW mv PARTITION (ds='20210101') enable LIFECYCLE; -
Exemplo 2: Desativar o gerenciamento de ciclo de vida para uma materialized view. Comando de exemplo:
ALTER MATERIALIZED VIEW mv PARTITION (ds='20210101') disable LIFECYCLE;
-
Excluir partições de materialized view
Remova partições específicas de uma materialized view particionada.
-
Sintaxe
ALTER MATERIALIZED VIEW [<project_name>.]<mv_name> DROP [IF EXISTS] PARTITION <pt_spec> [PARTITION <pt_spec>, PARTITION <pt_spec>....]; -
Parâmetros
Parâmetro
Obrigatório
Descrição
project_name
Não
Nome do projeto MaxCompute que contém a materialized view. Se você omitir esse parâmetro, o sistema usará o projeto MaxCompute atual. Para localizar o nome do projeto, faça login no console do MaxCompute, selecione a região apropriada no canto superior esquerdo e acesse a página Projects.
mv_name
Sim
Nome da materialized view particionada da qual se deseja excluir partições.
IF EXISTS
Não
Se você especificar IF EXISTS, o comando não relatará erro caso a partição especificada não exista.
pt_spec
Sim
Partiçõess a serem excluídas. É necessário especificar pelo menos uma partição. O formato é
(partition_col1 = partition_col_value1, partition_col2 = partition_col_value2, ...). partition_col é uma coluna de partição e partition_col_value é seu valor. -
Exemplos
-
Exemplo 1: Excluir uma partição específica de uma materialized view particionada. Comando de exemplo:
ALTER MATERIALIZED VIEW mv DROP PARTITION (ds='20210101'); -
Exemplo 2: Excluir partições que correspondem a uma condição especificada. Comando de exemplo:
ALTER MATERIALIZED VIEW mv DROP PARTITION (ds>='20210101' AND ds<='20210105');
-
Comandos relacionados
CREATE MATERIALIZED VIEW: Cria uma materialized view a partir de uma consulta. Este comando permite definir propriedades de particionamento e clustering.
DESC TABLE/VIEW: Visualiza metadados sobre uma materialized view.
SELECT MATERIALIZED VIEW: Consulta o status de uma materialized view.
DROP MATERIALIZED VIEW: Exclui uma materialized view.