Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de changer d’annuaire.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer d’annuaire.
S’applique à :
Databricks SQL
Vous permet d’effectuer l’une des actions suivantes :
- Ajoutez une planification ou un déclencheur pour actualiser une table de streaming existante.
- Modifiez une planification ou un déclencheur d’actualisation existant pour une table de diffusion en continu.
- Supprimez la planification d’actualisation ou le déclencheur d’une table de diffusion en continu. S’il n’existe aucune planification ou déclencheur, l’objet doit être actualisé manuellement pour refléter les données les plus récentes.
Pour ajouter ou modifier un commentaire sur une table de diffusion en continu, utilisez COMMENT ON.
Remarque
La modification d’un jeu de données créé par un pipeline d'une manière qui contredit la définition SQL peut entraîner l'annulation de certains changements. Consultez Utilisation ALTER de commandes avec des pipelines déclaratifs Spark Lakeflow.
Syntaxe
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 }
Paramètres
-
Nom de la table en streaming dont on souhaite modifier la définition. Le nom ne doit pas inclure une spécification temporelle.
horaire
Ajoutez ou modifiez une
SCHEDULETRIGGERinstruction sur la table.Remarque
Vous ne pouvez pas modifier la planification d’une table de diffusion en continu créée avec des pipelines déclaratifs Spark Lakeflow avec cette commande. Utilisez l’éditeur de pipeline.
SCHEDULE [ REFRESH ] schedule_clauseEVERY number { HOUR | HOURS | DAY | DAYS | WEEK | WEEKS }Pour planifier une actualisation qui se produit régulièrement, utilisez
EVERYla syntaxe. Si la syntaxeEVERYest spécifiée, la table de diffusion en continu ou la vue matérialisée est actualisée régulièrement à l’intervalle spécifié en fonction de la valeur fournie, telle queHOUR,HOURS,DAY,DAYS,WEEK, ouWEEKS. Le tableau suivant répertorie les valeurs entières acceptées pournumber.Unité de temps Valeur entière HOUR or HOURS1 <= H <= 72 DAY or DAYS1 <= D <= 31 WEEK or WEEKS1 <= W <= 8 Remarque
Les formes singulières et plurielles de l’unité de temps incluse sont sémantiquement équivalentes.
CRON cron_string [ AT TIME ZONE timezone_id ]Pour planifier une actualisation à l’aide d’une valeur quartz cron. Les time_zone_values valides sont acceptées. La fonction
AT TIME ZONE LOCALn'est pas prise en charge.Si
AT TIME ZONEest absent, le fuseau horaire de session est utilisé. SiAT TIME ZONEest absent et que le fuseau horaire de session n’est pas défini, une erreur est générée.SCHEDULEest équivalent sémantiquement àSCHEDULE REFRESH.
TRIGGER ON UPDATE [ AT MOST EVERY trigger_interval ]Important
La
TRIGGER ON UPDATEfonctionnalité est en version bêta.Définit la table à actualiser lorsqu’une source de données en amont est mise à jour, au plus une fois par minute. Définissez une valeur pour
AT MOST EVERYexiger au moins une durée minimale entre les actualisations.Les sources de données en amont doivent être des tables Delta externes ou gérées (y compris des vues matérialisées ou des tables de diffusion en continu) ou des vues managées dont les dépendances sont limitées aux types de tables pris en charge.
L’activation des événements de fichier peut rendre les déclencheurs plus performants et augmenter certaines des limites des mises à jour du déclencheur.
Il
trigger_intervals’agit d’une instruction INTERVAL qui est d’au moins 1 minute.TRIGGER ON UPDATEprésente les limitations suivantes- Pas plus de 10 sources de données en amont par table de diffusion en continu lors de l’utilisation de TRIGGER ON UPDATE.
- Un maximum de 1 000 tables de diffusion en continu ou de vues matérialisées peut être spécifié avec TRIGGER ON UPDATE.
- La
AT MOST EVERYclause est par défaut de 1 minute et ne peut pas être inférieure à 1 minute.
DROP SCHEDULESupprime un horaire de la table de streaming.
ALTER COLUMN clauseVoir la clause ALTERCOLUMN.
-
Important
Cette fonctionnalité est disponible en préversion publique.
Ajoute une fonction de filtre de lignes à la table de flux en continu. Toutes les requêtes suivantes sur la table de flux reçoivent un sous-ensemble des lignes où la fonction prend la valeur booléenne
TRUE. Cela peut être utile à des fins de contrôle d’accès plus précis, où la fonction peut inspecter l’identité et/ou l’appartenance à un groupe de l’utilisateur appelant afin de décider s’il convient de filtrer certaines lignes.Les filtres de lignes ajoutés après la création se propagent uniquement aux tables en aval après la prochaine mise à jour. Pour les pipelines continus, cela nécessite un redémarrage du pipeline.
DROP ROW FILTERImportant
Cette fonctionnalité est disponible en préversion publique.
Supprime le filtre de lignes de la table de streaming, le cas échéant. Les requêtes futures retournent toutes les lignes de la table sans filtrage automatique.
SET TAGS ( { tag_name = tag_value } [, ...] )Important
Cette fonctionnalité est disponible en préversion publique.
Appliquez des balises à la table en streaming. Vous devez disposer
APPLY TAGde l’autorisation d’ajouter des balises à la table de streaming.tag_nameUn
STRINGlittéral. Letag_namedoit être unique dans la table en streaming.tag_valueUn
STRINGlittéral.
UNSET TAGS ( tag_name [, ...] )Important
Cette fonctionnalité est disponible en préversion publique.
Supprimez les balises de la table de streaming. Vous devez disposer
APPLY TAGde l’autorisation de supprimer des étiquettes de la table de streaming.tag_nameUn
STRINGlittéral. Letag_namedoit être unique dans la table en streaming.
ALTER COLUMN clause
Important
Cette fonctionnalité est disponible en préversion publique.
Modifie une propriété ou l’emplacement d’une colonne.
Syntaxe
ALTER COLUMN
column_identifier
{ COMMENT comment |
SET MASK mask_clause |
DROP MASK |
SET TAGS clause |
UNSET TAGS clause }
Paramètres
-
Nom de la colonne à modifier.
COMMENT commentModifie la description de la colonne
column_name.commentdoit être un littéralSTRING.SETClause MASKPermet d’ajouter une fonction de masque de colonne pour anonymiser les données sensibles. Toutes les requêtes suivantes de cette colonne recevront le résultat de l’évaluation de cette fonction sur la colonne à la place de la valeur d’origine de la colonne. Cela peut être utile à des fins de contrôle d’accès plus précis, où la fonction peut inspecter l’identité ou l’appartenance à un groupe de l’utilisateur appelant afin de décider s’il convient de modifier la valeur.
Les masques de colonne ajoutés après la création se propagent uniquement aux tables en aval après la prochaine mise à jour. Pour les pipelines continus, cela nécessite un redémarrage du pipeline.
DROP MASKPermet de supprimer le masque de colonne pour celle-si, le cas échéant. Les futures requêtes de cette colonne recevront les valeurs d’origine de la colonne.
SET TAGS ( { tag_name = tag_value } [, ...] )Appliquer des balises à la colonne. Vous devez disposer d’une autorisation
APPLY TAGpour ajouter des balises à la colonne.tag_name
Un
STRINGlittéral. Letag_namedoit être unique dans la colonne ou la table.tag_value
Un
STRINGlittéral.
UNSET TAGS ( tag_name [, ...] )Supprimez les balises données de la colonne. Vous devez disposer d’une autorisation
APPLY TAGpour supprimer des balises de la colonne.tag_name
Un
STRINGlittéral. Letag_namedoit être unique dans la colonne ou la table.
Exemples
-- 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'