Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:
Databricks SQL
Ermöglicht das Ausführen der folgenden Aktionen:
- Fügen Sie einen Zeitplan oder Trigger zum Aktualisieren einer vorhandenen Streamingtabelle hinzu.
- Ändern eines vorhandenen Aktualisierungszeitplans oder Triggers für eine Streamingtabelle.
- Legen Sie den Aktualisierungszeitplan ab, oder lösen Sie den Trigger für eine Streamingtabelle aus. Wenn kein Zeitplan oder Trigger vorhanden ist, muss das Objekt manuell aktualisiert werden, um die neuesten Daten widerzuspiegeln.
Verwenden Sie COMMENT ON, um einen Kommentar zu einer Streamingtabelle hinzuzufügen oder zu ändern.
Hinweis
Das Ändern eines in einer Pipeline erstellten Datasets in einer Weise, die dem definierenden SQL widerspricht, kann dazu führen, dass einige Änderungen zurückgesetzt werden. Siehe Verwenden von ALTER Befehlen mit Lakeflow Spark Declarative Pipelines.
Syntax
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 }
Parameter
-
Der Name der Streamingtabelle, deren Definition geändert werden soll. Der Name darf keine temporale Spezifikation enthalten.
Zeitplan
Hinzufügen oder Ändern einer
SCHEDULEAnweisungTRIGGERfür die Tabelle.Hinweis
Sie können den Zeitplan einer Streamingtabelle, die mit Lakeflow Spark Declarative Pipelines mit diesem Befehl erstellt wurde, nicht ändern. Verwenden Sie den Pipeline-Editor.
SCHEDULE [ REFRESH ] schedule_clauseEVERY number { HOUR | HOURS | DAY | DAYS | WEEK | WEEKS }Verwenden Sie
EVERYdie Syntax, um eine aktualisierung zu planen, die in regelmäßigen Abständen auftritt. WennEVERYdie Syntax angegeben ist, wird die Streamingtabelle oder materialisierte Ansicht regelmäßig im angegebenen Intervall aktualisiert, basierend auf dem angegebenen Wert, zHOUR. B. , ,HOURS,DAY,DAYS,WEEKoderWEEKS. In der folgenden Tabelle sind akzeptierte ganzzahlige Werte fürnumber.Zeiteinheit Ganzzahliger Wert HOUR or HOURS1 <= H <= 72 DAY or DAYS1 <= D <= 31 WEEK or WEEKS1 <= W <= 8 Hinweis
Die Singular- und Pluralformen der enthaltenen Zeiteinheit sind semantisch gleichwertig.
CRON cron_string [ AT TIME ZONE timezone_id ]Um eine Aktualisierung mit einem Quarz-Cron-Wert zu planen. Gültige time_zone_values werden akzeptiert.
AT TIME ZONE LOCALwird nicht unterstützt.Fehlt
AT TIME ZONE, wird die Sitzungszeitzone verwendet. WennAT TIME ZONEfehlt und die Sitzungszeitzone nicht festgelegt ist, wird ein Fehler ausgelöst.SCHEDULEist semantisch äquivalent mitSCHEDULE REFRESH.
TRIGGER ON UPDATE [ AT MOST EVERY trigger_interval ]Von Bedeutung
Das
TRIGGER ON UPDATEFeature befindet sich in der Betaversion.Legt fest, dass die Tabelle aktualisiert wird, wenn eine upstream-Datenquelle mindestens einmal pro Minute aktualisiert wird. Legen Sie einen Wert fest, für
AT MOST EVERYden mindestens eine Mindestzeit zwischen Aktualisierungen erforderlich ist.Die upstream-Datenquellen müssen externe oder verwaltete Delta-Tabellen (einschließlich materialisierter Ansichten oder Streamingtabellen) oder verwaltete Ansichten sein, deren Abhängigkeiten auf unterstützte Tabellentypen beschränkt sind.
Durch das Aktivieren von Dateiereignissen können Trigger leistungsleistungsfähiger werden und einige der Grenzwerte für Triggerupdates erhöht werden.
Dies
trigger_intervalist eine INTERVAL-Anweisung , die mindestens 1 Minute beträgt.TRIGGER ON UPDATEhat die folgenden Einschränkungen:- Nicht mehr als 10 upstream-Datenquellen pro Streamingtabelle bei Verwendung von TRIGGER ON UPDATE.
- Maximal 1000 Streamingtabellen oder materialisierte Ansichten können mit TRIGGER ON UPDATEangegeben werden.
- Die
AT MOST EVERYKlausel ist standardmäßig auf 1 Minute festgelegt und darf nicht kleiner als 1 Minute sein.
DROP SCHEDULEEntfernt einen Zeitplan aus der Streamingtabelle.
ALTER COLUMN clauseSiehe ALTER-KlauselCOLUMN.
-
Von Bedeutung
Dieses Feature befindet sich in der Public Preview.
Fügt der Streamingtabelle eine Zeilenfilterfunktion hinzu. Alle nachfolgenden Abfragen der Streamingtabelle erhalten eine Teilmenge der Zeilen, in denen die Funktion als boolescher
TRUEWert ausgewertet wird. Dies kann für eine fein abgestufte Zugriffssteuerung nützlich sein, bei der die Funktion die Identität oder Gruppenmitgliedschaften der aufrufenden Benutzer überprüfen kann, um zu entscheiden, ob bestimmte Spalten gefiltert werden sollen.Zeilenfilter, die nach der Erstellung hinzugefügt wurden, werden nur nach dem nächsten Update an nachgelagerte Tabellen weitergegeben. Für fortlaufende Pipelines erfordert dies einen Pipelineneustart.
DROP ROW FILTERVon Bedeutung
Dieses Feature befindet sich in der Public Preview.
Legt den Zeilenfilter aus der Streamingtabelle ab, falls vorhanden. Zukünftige Abfragen geben alle Zeilen aus der Tabelle ohne automatische Filterung zurück.
SET TAGS ( { tag_name = tag_value } [, ...] )Von Bedeutung
Dieses Feature befindet sich in der Public Preview.
Anwenden von Tags auf die Streamingtabelle. Sie müssen die Berechtigung
APPLY TAGzum Hinzufügen von Tags zur Streamingtabelle haben.tag_nameEin
STRING-Literal. Dastag_namemuss innerhalb der Streamingtabelle eindeutig sein.tag_valueEin
STRING-Literal.
UNSET TAGS ( tag_name [, ...] )Von Bedeutung
Dieses Feature befindet sich in der Public Preview.
Entfernen sie Tags aus der Streamingtabelle. Sie müssen die Berechtigung
APPLY TAGhaben, um Tags aus der Streamingtabelle zu entfernen.tag_nameEin
STRING-Literal. Dastag_namemuss innerhalb der Streamingtabelle eindeutig sein.
ALTER-Klausel COLUMN
Von Bedeutung
Dieses Feature befindet sich in der Public Preview.
Ändert eine Eigenschaft oder die Position einer Spalte.
Syntax
ALTER COLUMN
column_identifier
{ COMMENT comment |
SET MASK mask_clause |
DROP MASK |
SET TAGS clause |
UNSET TAGS clause }
Parameter
-
Der Name der Spalte, die geändert werden soll.
COMMENT commentÄndert die Beschreibung der
column_name-Spalte.commentmuss einSTRING-Literal sein.SETMASK-KlauselFügt eine Spaltenmaskierungsfunktion hinzu, um sensible Daten zu anonymisieren. Alle nachfolgenden Abfragen aus dieser Spalte erhalten das Ergebnis der Auswertung dieser Funktion über der Spalte anstelle des ursprünglichen Werts der Spalte. Dies kann für eine präzise Zugriffssteuerung nützlich sein, bei der die Funktion die Identität oder Gruppenmitgliedschaft der aufrufenden Benutzenden überprüfen kann, um zu bestimmen, ob der Wert zurückgezogen werden soll.
Spaltenmasken, die nach der Erstellung hinzugefügt wurden, werden erst mit dem nächsten Update in nachfolgende Tabellen weitergegeben. Für fortlaufende Pipelines erfordert dies einen Pipelineneustart.
DROP MASKEntfernt das Spaltenformat für diese Spalte, sofern vorhanden. Zukünftige Abfragen aus dieser Spalte erhalten die ursprünglichen Werte der Spalte.
SET TAGS ( { tag_name = tag_value } [, ...] )Wenden Sie Tags auf die Spalte an. Sie benötigen die Berechtigung
APPLY TAG, um Tags zur Spalte hinzufügen zu können.tag_name
Ein
STRING-Literal.tag_namemuss innerhalb der Tabelle oder Spalte eindeutig sein.tag_value
Ein
STRING-Literal.
UNSET TAGS ( tag_name [, ...] )Entfernen Sie die angegebenen Tags aus der Spalte. Sie benötigen die Berechtigung
APPLY TAG, um Tags aus der Spalte entfernen zu können.tag_name
Ein
STRING-Literal.tag_namemuss innerhalb der Tabelle oder Spalte eindeutig sein.
Beispiele
-- 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'