Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:
Databricks SQL
Permite executar qualquer uma das seguintes ações:
- Adicione uma agenda ou gatilho para atualizar uma tabela de streaming existente.
- Altere uma agenda de atualização existente ou um gatilho para uma tabela de streaming.
- Solte a agenda de atualização ou o gatilho para uma tabela de streaming. Se não houver agendamento ou gatilho, o objeto precisará ser atualizado manualmente para refletir os dados mais recentes.
Para adicionar ou alterar um comentário numa tabela de streaming, 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 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 para alterar a definição de. O nome não deve incluir uma especificação temporal.
Horário
Adicione ou altere uma
SCHEDULEinstrução ouTRIGGERna tabela.Nota
Não podes modificar o cronograma de uma tabela de streaming 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 programar 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 valor cron quartz . São aceites time_zone_values válidos.
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 tabela para atualizar 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:- No máximo 10 fontes de dados upstream por tabela de streaming 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 um horário da tabela de streaming.
ALTER COLUMN clauseVer cláusula ALTERCOLUMN.
-
Adiciona uma função de filtro de linha à tabela de streaming. Todas as consultas subsequentes à tabela de streaming recebem um subconjunto das linhas onde a função é avaliada como booleana
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 pipelines contínuos, é necessário reiniciar o pipeline.
DROP ROW FILTERDescarta o filtro de linha da tabela de streaming, se houver. Consultas futuras retornam todas as linhas da tabela sem qualquer filtragem automática.
SET TAGS ( { tag_name = tag_value } [, ...] )Aplique etiquetas à tabela de streaming. Você precisa ter
APPLY TAGpermissão para adicionar tags à tabela de streaming.tag_nameUm literal
STRING. Devetag_nameser único dentro da tabela de streaming.tag_valueUm literal
STRING.
UNSET TAGS ( tag_name [, ...] )Remova as tags da tabela de fluxo. Você precisa ter
APPLY TAGpermissão para remover tags da tabela de streaming.tag_nameUm literal
STRING. Devetag_nameser único dentro da tabela de streaming.
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 pipelines contínuos, é necessário reiniciar o pipeline.
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 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'