ALTER MATERIALIZED VIEW¶
Altera uma exibição materializada no esquema atual/especificado. As ações com suporte incluem:
Renomeação da exibição materializada.
Suspensão e retomada do uso e manutenção da exibição materializada.
Clusterização da exibição materializada.
Suspensão e retomada do reclustering da exibição materializada.
Descarte da clusterização da exibição materializada.
Para obter mais detalhes, consulte Como trabalhar com exibições materializadas.
- Consulte também:
CREATE MATERIALIZED VIEW , DROP MATERIALIZED VIEW , SHOW MATERIALIZED VIEWS , DESCRIBE MATERIALIZED VIEW
Sintaxe¶
ALTER MATERIALIZED VIEW <name>
{
RENAME TO <new_name> |
CLUSTER BY ( <expr1> [, <expr2> ... ] ) |
DROP CLUSTERING KEY |
SUSPEND RECLUSTER |
RESUME RECLUSTER |
SUSPEND |
RESUME |
SET {
[ SECURE ]
[ COMMENT = '<comment>' ]
} |
UNSET {
SECURE |
COMMENT
}
}
ALTER MATERIALIZED VIEW
SET DATA_METRIC_SCHEDULE = {
'<num> MINUTE'
| 'USING CRON <expr> <time_zone>'
}
ALTER MATERIALIZED VIEW UNSET DATA_METRIC_SCHEDULE
Parâmetros¶
name
Especifica o identificador da exibição materializada a ser alterada.
RENAME TO new_name
Esta opção permite que você renomeie uma exibição materializada.
O novo identificador deve ser único para o esquema no qual a exibição é criada. O novo identificador deve começar com um caractere alfabético e não pode conter espaços ou caracteres especiais a menos que toda a cadeia de caracteres do identificador esteja entre aspas duplas (por exemplo,
"My object"
). Os identificadores delimitados por aspas duplas também diferenciam letras maiúsculas de minúsculas. Para obter mais detalhes, consulte Requisitos para identificadores.Você pode mover o objeto para um banco de dados e/ou esquema diferente enquanto opcionalmente renomeia o objeto. Para isso, especifique um valor qualificado
new_name
que inclua o novo banco de dados e/ou nome do esquema no formuláriodb_name.schema_name.object_name
ouschema_name.object_name
, respectivamente.Nota
O banco de dados e/ou esquema de destino já deve existir. Além disso, um objeto com o mesmo nome não pode já existir no banco de dados de destino; caso contrário, a instrução retorna um erro.
É proibido mover um objeto para um esquema de acesso gerenciado a menos que o proprietário do objeto (ou seja, a função que tem o privilégio OWNERSHIP sobre o objeto) também possua o esquema de destino.
Note que a renomeação de uma exibição materializada não atualiza as referências a essa exibição. Por exemplo, se você criar uma exibição chamada
V1
em uma exibição materializada, e depois renomear a exibição materializada, a definição de vistaV1
ficará desatualizada.CLUSTER BY expr#
Este comando clusteriza a exibição materializada. O clustering reordena as linhas na exibição materializada para aumentar o desempenho para consultas que filtram com base nas expressões-chave de clustering.
O
expr#
especifica uma expressão na qual deve ser feito o clustering da exibição materializada. Tipicamente, cada expressão é o nome de uma coluna na exibição materializada.Para obter mais informações sobre clustering de exibições materializadas, consulte: Exibições materializadas e clustering. Para obter mais informações sobre clustering em geral, consulte: O que é clustering de dados?.
DROP CLUSTERING KEY
Este comando descarta o clustering da exibição materializada.
SUSPEND RECLUSTER
A opção
SUSPEND RECLUSTER
suspende o novo clustering da exibição materializada. Para obter mais informações sobre clustering de exibições materializadas, consulte Exibições materializadas e clustering.RESUME RECLUSTER
A opção
RESUME RECLUSTER
retoma o reclustering da exibição materializada.SUSPEND
A opção
SUSPEND
suspende a manutenção (atualizações) e o uso da exibição materializada. Enquanto a exibição estiver suspensa, as atualizações da tabela base não serão propagadas para a exibição materializada. A exibição materializada em si também é inacessível; se você tentar usá-la, você receberá uma mensagem de erro semelhante a:Failure during expansion of view 'MV1': SQL compilation error: Materialized View MV1 is invalid. Invalidation reason: Marked Materialized View as invalid manually.
Se você suspender uma exibição materializada clusterizada, suspender a exibição implicitamente suspenderá o reclustering dessa exibição.
RESUME
A opção
RESUME
permite que você retome usando a exibição materializada. Isso também retoma a manutenção da exibição materializada. Se a exibição estiver clusterizada, ela também retomará implicitamente o reclustering desta exibição.SET ...
Especifica a propriedade a ser definida para a exibição materializada:
SECURE
Esta opção transforma a exibição em uma exibição segura. Para obter mais informações sobre exibições seguras, consulte Como trabalhar com exibições seguras.
COMMENT = 'string_literal'
Esta opção define um comentário para a exibição materializada. O comentário não tem efeito sobre o comportamento da exibição, mas pode fornecer informações úteis para as pessoas que usam ou mantêm a exibição.
DATA_METRIC_SCHEDULE ...
Especifica o agendamento para executar a função de métrica de dados periodicamente.
'num MINUTE'
Especifica um intervalo (em minutos) de espera inserido entre as execuções da função da métrica de dados. Aceita apenas números inteiros positivos.
Também oferece suporte à sintaxe
num M
.Para funções de métricas de dados, use um dos seguintes valores:
5
,15
,30
,60
,720
ou1440
.'USING CRON expr time_zone'
Especifica uma expressão cron e um fuso horário para executar periodicamente a função da métrica de dados. Oferece suporte a um subconjunto de sintaxe de utilitário cron padrão.
Para uma lista de fusos horários, consulte a lista de fusos horários do banco de dados tz.
A expressão cron consiste nos seguintes campos e o intervalo periódico deve ser de pelo menos 5 minutos:
# __________ minute (0-59) # | ________ hour (0-23) # | | ______ day of month (1-31, or L) # | | | ____ month (1-12, JAN-DEC) # | | | | _ day of week (0-6, SUN-SAT, or L) # | | | | | # | | | | | * * * * *
Os seguintes caracteres especiais são suportados:
*
Curinga. Especifica qualquer ocorrência do campo.
L
Significa “último”. Quando usado no campo do dia da semana, permite especificar construções como “a última sexta-feira” (“5L”) de um determinado mês. No campo do dia do mês, ele especifica o último dia do mês.
/{n}
Indica a enésima instância de uma determinada unidade de tempo. Cada quanta de tempo é computada independentemente. Por exemplo, se
4/3
estiver especificado no campo do mês, a função de métrica de dados será programada para abril, julho e outubro (ou seja, a cada 3 meses, começando com o quarto mês do ano). O mesmo cronograma é mantido nos anos seguintes. Ou seja, a função da métrica de dados não está programada para ser executada em janeiro (3 meses após a execução de outubro).
Nota
Atualmente, a expressão cron avalia apenas em relação ao fuso horário especificado. Alterar o valor do parâmetro TIMEZONE para a conta (ou definir o valor no nível do usuário ou da sessão) não altera o fuso horário da função da métrica de dados.
A expressão cron define todos os tempos de execução válidos para a função da métrica de dados. O Snowflake tenta executar uma função da métrica de dados com base neste cronograma; no entanto, qualquer tempo de execução válido é ignorado se uma execução anterior não tiver sido concluída antes do próximo tempo de execução válido começar.
Quando tanto um dia específico do mês como um dia da semana são incluídos na expressão cron, a função da métrica de dados é programada em dias que satisfaçam o dia do mês ou o dia da semana. Por exemplo,
DATA_METRIC_SCHEDULE = 'USING CRON 0 0 10-20 * TUE,THU UTC'
programa uma função da métrica de dados no horário 0AM em qualquer dia de 10 a 20 e também em qualquer terça-feira ou quinta-feira fora dessas datas.A granularidade de tempo mais curta em cron é de minutos.
UNSET ...
Especifica a propriedade a ser removida para a exibição materializada:
SECURE
TAG tag_name [ , tag_name ... ]
COMMENT
DATA_METRIC_SCHEDULE
Notas de uso¶
Use o comando ALTER VIEW para definir/remover uma política de mascaramento, política de acesso a linhas ou tag em/de uma exibição materializada.
É possível usar funções de métricas de dados (DMFs) com exibições materializadas da seguinte forma:
Para definir o parâmetro DATA_METRIC_SCHEDULE na exibição materializada, use o comando ALTER MATERIALIZED VIEW. Para obter mais informações, consulte Como agendar suas DMFs para serem executadas.
Para adicionar uma DMF a uma coluna ou descartar um DMF de uma coluna em uma exibição materializada, use o comando ALTER VIEW.
Em relação aos metadados:
Atenção
Os clientes devem garantir que nenhum dado pessoal (exceto para um objeto do usuário), dados sensíveis, dados controlados por exportação ou outros dados regulamentados sejam inseridos como metadados ao usar o serviço Snowflake. Para obter mais informações, consulte Campos de metadados no Snowflake.
Exemplos¶
Renomear uma exibição materializada:
ALTER MATERIALIZED VIEW table1_MV RENAME TO my_mv;
Clusterizar uma exibição materializada:
ALTER MATERIALIZED VIEW my_mv CLUSTER BY(i);
Suspender o clustering de uma exibição materializada, mas não a utilização da exibição:
ALTER MATERIALIZED VIEW my_mv SUSPEND RECLUSTER;
Retomar o clustering de uma exibição materializada:
ALTER MATERIALIZED VIEW my_mv RESUME RECLUSTER;
Suspender todo o uso e a manutenção automática da exibição materializada especificada:
ALTER MATERIALIZED VIEW my_mv SUSPEND;
Retomar todo o uso e manutenção automática da exibição materializada especificada:
ALTER MATERIALIZED VIEW my_mv RESUME;
Parar o clustering de uma exibição materializada:
ALTER MATERIALIZED VIEW my_mv DROP CLUSTERING KEY;
Modificar a exibição para ser uma exibição segura:
ALTER MATERIALIZED VIEW mv1 SET SECURE;
Adicionar ou substituir o comentário para uma exibição materializada:
ALTER MATERIALIZED VIEW mv1 SET COMMENT = 'Sample view';