Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:
SQL do Databricks
Permite que você execute qualquer uma das seguintes ações:
- Adicione um agendamento ou gatilho para atualizar uma tabela de streaming existente.
- Altere um agendamento ou gatilho de atualização existente para uma tabela de streaming.
- Solte o agendamento de atualização ou o gatilho de uma tabela de streaming. Se não houver nenhum agendamento ou gatilho, o objeto precisará ser atualizado manualmente para refletir os dados mais recentes.
Para adicionar ou alterar um comentário em uma tabela de streaming, use COMMENT ON.
Observação
Alterar um conjunto de dados criado por pipeline de maneiras que contradizem o SQL definidor pode fazer com que algumas alterações sejam revertidas. Consulte Usando ALTER comandos com Pipelines Declarativos do Lakeflow Spark.
Sintaxe
ALTER STREAMING TABLE table_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 tabela de streaming da qual alterar a definição. O nome não deve incluir uma especificação temporal.
horário
Adicione ou altere uma
SCHEDULEinstrução ouTRIGGERuma instrução na tabela.Observação
Você não pode modificar o agendamento de uma tabela de streaming criada com o Lakeflow Spark Declarative Pipelines com este comando. Use o editor de pipeline.
SCHEDULE [ REFRESH ] schedule_clauseEVERY number { HOUR | HOURS | DAY | DAYS | WEEK | WEEKS }Para agendar uma atualização que ocorre periodicamente, use
EVERYa sintaxe. SeEVERYa sintaxe for especificada, a tabela de streaming ou a exibição materializada será atualizada periodicamente no intervalo especificado 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 Observação
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 valor cron de quartzo. São aceites time_zone_values válidas. Não há suporte para
AT TIME ZONE LOCAL.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 Beta.Define a tabela a 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 upstream devem ser tabelas Delta externas ou gerenciadas (incluindo exibições materializadas ou tabelas de streaming) ou exibições gerenciadas cujas dependências são limitadas a tipos de tabela compatíveis.
Habilitar eventos de arquivo pode tornar os gatilhos com mais desempenho e aumenta alguns dos limites de atualizações de gatilho.
A
trigger_intervalinstrução INTERVAL é de pelo menos 1 minuto.TRIGGER ON UPDATEtem as seguintes limitações- Não mais do que 10 fontes de dados de origem por tabela de streaming ao usar TRIGGER ON UPDATE.
- No máximo 1000 tabelas de streaming ou exibições materializadas podem ser especificadas com TRIGGER ON UPDATE.
- A
AT MOST EVERYcláusula tem o padrão de 1 minuto e não pode ter menos de 1 minuto.
DROP SCHEDULERemove um agendamento da tabela de streaming.
ALTER COLUMN clauseConsulte a cláusula ALTERCOLUMN.
Cláusula
SETROW FILTERImportante
Esse recurso está em uma versão prévia.
Adiciona uma função de filtro de linha à tabela de streaming. Todas as consultas subsequentes à tabela de streaming recebem um subconjunto das linhas em que a função é avaliada como booliana
TRUE. Isso pode ser útil para fins de controle de acesso refinado, em que a função pode inspecionar a identidade ou as associações de grupo do usuário que a invocou para determinar se deseja filtrar algumas linhas.Filtros de linha adicionados após a criação só se propagam para tabelas downstream após a próxima atualização. No caso de pipelines contínuos, isso requer uma reinicialização do pipeline.
DROP ROW FILTERImportante
Esse recurso está em uma versão prévia.
Descarta o filtro de linha da tabela de streaming, se houver. As consultas futuras retornam todas as linhas da tabela sem nenhuma filtragem automática.
SET TAGS ( { tag_name = tag_value } [, ...] )Importante
Esse recurso está em uma versão prévia.
Aplique tags à tabela de streaming. Você precisa ter
APPLY TAGpermissão para adicionar tags à tabela de streaming.tag_nameUm literal
STRING. Otag_namedeve ser exclusivo dentro da tabela de streaming.tag_valueUm literal
STRING.
UNSET TAGS ( tag_name [, ...] )Importante
Esse recurso está em uma versão prévia.
Remova marcas da tabela de streaming. Você precisa ter
APPLY TAGpermissão para remover etiquetas da tabela de streaming.tag_nameUm literal
STRING. Otag_namedeve ser exclusivo dentro da tabela de streaming.
Cláusula ALTER COLUMN
Importante
Esse recurso está em uma versão prévia.
Altera uma propriedade ou o local 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 coluna
column_name.commentdeve ser uma literal deSTRING.SETCláusula MASKAdiciona uma função para mascarar colunas e anonimizar dados sensíveis. Todas as consultas subsequentes dessa coluna receberão o resultado da aplicação dessa função na coluna, em substituição ao valor original da coluna. Isso pode ser útil para fins de controle de acesso detalhado, em que a função pode inspecionar a identidade ou as associações de grupo do usuário que a invoca para determinar se o valor deve ser redigido.
Máscaras de coluna adicionadas após a criação só se propagam para tabelas downstream após a próxima atualização. No caso de pipelines contínuos, isso requer uma reinicialização do pipeline.
DROP MASKRemove a máscara de coluna desta coluna, se houver. Consultas futuras dessa coluna receberão os valores originais dessa coluna.
SET TAGS ( { tag_name = tag_value } [, ...] )Aplicar marcas à coluna. Você precisa ter a permissão
APPLY TAGpara adicionar marcas à coluna.nome_da_tag
Um literal
STRING. Otag_namedeve ser exclusivo na tabela ou coluna.tag_value
Um literal
STRING.
UNSET TAGS ( tag_name [, ...] )Remova as etiquetas fornecidas da coluna. Você precisa ter a permissão
APPLY TAGpara remover marcas da coluna.nome_da_tag
Um literal
STRING. Otag_namedeve ser exclusivo na tabela ou coluna.
Exemplos
-- Adds a schedule to refresh the streaming table whenever its upstream data gets updated.
> ALTER STREAMING TABLE my_st
ADD TRIGGER ON UPDATE;
-- Alters the schedule to refresh the streaming table when its upstream data
-- gets updated, with no more than one update per hour.
> ALTER STREAMING TABLE my_st
ALTER TRIGGER ON UPDATE AT MOST EVERY INTERVAL 1 hour;
-- Alters the schedule to run every one hour.
> ALTER STREAMING TABLE my_st
ALTER SCHEDULE EVERY 1 HOUR;
-- Alters the schedule to refresh the streaming table once a day
-- at midnight in Los Angeles
> ALTER STREAMING TABLE my_st
ALTER SCHEDULE CRON '0 0 0 * * ? *' AT TIME ZONE 'America/Los_Angeles';
-- Drops the schedule for a streaming table
> ALTER STREAMING TABLE my_st
DROP SCHEDULE;
-- Adds a column comment
> ALTER STREAMING TABLE my_st
ALTER COLUMN column_name COMMENT 'test'