Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a:
Databricks SQL
Altera os metadados associados à exibição.
Permite executar qualquer uma das seguintes ações:
- Adicione uma agenda para refrescar uma vista materializada existente.
- Altere uma agenda de atualização existente para uma exibição materializada.
- Remova a agenda de atualização para uma vista materializada. Se a agenda for descartada, o objeto precisará ser atualizado manualmente para refletir os dados mais recentes.
Para adicionar ou alterar um comentário numa vista materializada, use COMMENT ON.
Nota
Alterar um conjunto de dados criado por pipeline de formas que contradizem o SQL definidor pode fazer com que algumas alterações sejam revertidas. Veja Utilizar ALTER comandos com Lakeflow Spark Declarative Pipelines.
Sintaxe
ALTER MATERIALIZED VIEW view_name
{
{ ADD | ALTER } schedule |
DROP SCHEDULE |
ALTER COLUMN column_clause |
SET ROW FILTER clause |
DROP ROW FILTER |
SET TAGS clause |
UNSET TAGS clause }
schedule
{ SCHEDULE [ REFRESH ] schedule_clause |
TRIGGER ON UPDATE [ AT MOST EVERY trigger_interval ] }
schedule_clause
{ EVERY number { HOUR | HOURS | DAY | DAYS | WEEK | WEEKS } |
CRON cron_string [ AT TIME ZONE timezone_id ] }
column_clause
column_identifier
{ COMMENT clause |
SET MASK clause |
DROP MASK |
SET TAGS clause |
UNSET TAGS clause }
Parâmetros
-
O nome da visão materializada para alterar a definição de. O nome não deve incluir uma especificação temporal.
Horário
Adicione ou altere uma
SCHEDULEouTRIGGERdeclaração na visão materializada.Nota
Não pode modificar o cronograma de uma visualização materializada criada com Lakeflow Spark Declarative Pipelines com este comando. Utilize o editor de pipelines.
SCHEDULE [ REFRESH ] schedule_clauseEVERY number { HOUR | HOURS | DAY | DAYS | WEEK | WEEKS }Para agendar uma atualização que ocorre periodicamente, use a sintaxe
EVERY. Se a sintaxeEVERYfor especificada, a tabela de streaming ou a vista materializada será atualizada periodicamente no intervalo definido, com base no valor fornecido, comoHOUR,HOURS,DAY,DAYS,WEEKouWEEKS. A tabela a seguir lista os valores inteiros aceitos paranumber.Unidade de tempo Valor inteiro HOUR or HOURS<1 = H <= 72 DAY or DAYS<1 = D <= 31 WEEK or WEEKS<1 = W <= 8 Nota
As formas singular e plural da unidade de tempo incluída são semanticamente equivalentes.
CRON cron_string [ AT TIME ZONE timezone_id ]Para agendar uma atualização usando um cron quartz. Valores de fusos horários válidos são aceites.
AT TIME ZONE LOCALnão é suportado.Se
AT TIME ZONEestiver ausente, o fuso horário da sessão será usado. SeAT TIME ZONEestiver ausente e o fuso horário da sessão não estiver definido, um erro será lançado.SCHEDULEé semanticamente equivalente aSCHEDULE REFRESH.
TRIGGER ON UPDATE [ AT MOST EVERY trigger_interval ]Importante
O
TRIGGER ON UPDATErecurso está em versão Beta.Define a exibição materializada para ser atualizada quando uma fonte de dados upstream é atualizada, no máximo uma vez a cada minuto. Defina um valor para
AT MOST EVERYexigir pelo menos um tempo mínimo entre as atualizações.As fontes de dados de origem devem ser tabelas Delta externas ou geridas (incluindo vistas materializadas ou tabelas de streaming) ou vistas geridas cujas dependências são limitadas a tipos de tabela suportados.
Habilitar eventos de arquivo pode tornar os gatilhos mais eficientes e aumenta alguns dos limites nas atualizações de gatilho.
A
trigger_intervalé uma instrução INTERVAL que é de pelo menos 1 minuto.TRIGGER ON UPDATEtem as seguintes limitações:- Não mais do que 10 fontes de dados upstream por visualização materializada ao usar TRIGGER ON UPDATE.
- Máximo de 1000 tabelas de streaming ou visualizações materializadas podem ser especificadas com TRIGGER ON UPDATE.
- O
AT MOST EVERYpadrão da cláusula é de 1 minuto e não pode ser inferior a 1 minuto.
DROP SCHEDULERemove uma agenda da vista materializada.
ALTER COLUMN clauseVer cláusula ALTERCOLUMN.
-
Adiciona uma função de filtro de linha à exibição materializada. Todas as consultas subsequentes na vista materializada recebem um subconjunto de linhas em que a função é avaliada para um valor booleano
TRUE. Isso pode ser útil para fins de controle de acesso refinado, onde a função pode inspecionar a identidade ou as associações de grupo do usuário que invoca para determinar se determinadas linhas devem ser filtradas.Os filtros de linhas adicionados após a criação só se propagam para as tabelas a jusante após a próxima atualização. Para canalizações contínuas, isto requer um reinício da canalização.
DROP ROW FILTERDescarta o filtro de linha da exibição materializada, se houver. Consultas futuras retornarão todas as linhas da tabela sem qualquer filtragem automática.
SET TAGS ( { tag_name = tag_value } [, ...] )Aplique tags à visualização materializada. Você precisa ter
APPLY TAGpermissão para adicionar tags à exibição materializada.tag_nameUm literal
STRING. Otag_namedeve ser único dentro da vista ou coluna materializada.tag_valueUm literal
STRING.
UNSET TAGS ( tag_name [, ...] )Remova as tags da visualização materializada. Você precisa ter
APPLY TAGpermissão para remover tags da visualização materializada.tag_nameUm literal
STRING. Otag_namedeve ser único dentro da vista ou coluna materializada.
Cláusula ALTER COLUMN
Altera uma propriedade ou a posição de uma coluna.
Sintaxe
ALTER COLUMN
column_identifier
{ COMMENT comment |
SET MASK mask_clause |
DROP MASK |
SET TAGS clause |
UNSET TAGS clause }
Parâmetros
-
O nome da coluna a ser alterada.
COMMENT commentAltera a descrição da
column_namecoluna.commenttem de ser umSTRINGliteral.SETCláusula MASKAdiciona uma função de máscara de coluna para anonimizar dados sensíveis. Todas as consultas subsequentes dessa coluna receberão o resultado da avaliação dessa função sobre a coluna no lugar do valor original da coluna. Isso pode ser útil para fins de controle de acesso refinado, onde a função pode inspecionar a identidade ou as associações de grupo do usuário que invoca para determinar se o valor deve ser redigido.
As máscaras de coluna adicionadas após a criação só se propagam para as tabelas a jusante após a atualização seguinte. Para canalizações contínuas, isto requer um reinício da canalização.
DROP MASKRemova a máscara de coluna desta coluna, se houver. Consultas futuras desta coluna receberão os valores originais da coluna.
SET TAGS ( { tag_name = tag_value } [, ...] )Aplique etiquetas à coluna. Você precisa ter
APPLY TAGpermissão para adicionar tags à coluna.tag_name
Um literal
STRING. Otag_namedeve ser exclusivo dentro da tabela ou coluna.tag_value
Um literal
STRING.
UNSET TAGS ( tag_name [, ...] )Remova as etiquetas dadas da coluna. Você precisa ter
APPLY TAGpermissão para remover tags da coluna.tag_name
Um literal
STRING. Otag_namedeve ser exclusivo dentro da tabela ou coluna.
Exemplos
-- Adds a schedule to refresh the materialized view whenever its upstream data gets updated.
> ALTER MATERIALIZED VIEW my_mv
ADD TRIGGER ON UPDATE;
-- Alters the schedule to refresh the materialized view when its upstream data
-- gets updated, and make sure the update frequency is no more than 1 update
-- per hour.
> ALTER MATERIALIZED VIEW my_mv
ALTER TRIGGER ON UPDATE AT MOST EVERY INTERVAL 1 hour;
-- Alters the schedule to run every two hours for a materialized view
> ALTER MATERIALIZED VIEW my_mv
ALTER SCHEDULE EVERY 2 HOURS;
-- Alters the schedule to refresh a materialized view once a day
-- at midnight in Los Angeles
> ALTER MATERIALIZED VIEW my_mv
ALTER SCHEDULE CRON '0 0 0 * * ? *' AT TIME ZONE 'America/Los_Angeles';
-- Drops the schedule for a materialized view
> ALTER MATERIALIZED VIEW my_mv
DROP SCHEDULE;
-- Adds a column comment
> ALTER MATERIALIZED VIEW my_mv
ALTER COLUMN my_column_name COMMENT 'test'