Freigeben über


ALTER STREAMING TABLE

Gilt für:Häkchen 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

  • table_name

    Der Name der Streamingtabelle, deren Definition geändert werden soll. Der Name darf keine temporale Spezifikation enthalten.

  • Zeitplan

    Hinzufügen oder Ändern einer SCHEDULE Anweisung TRIGGER fü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_clause

      • EVERY number { HOUR | HOURS | DAY | DAYS | WEEK | WEEKS }

        Verwenden Sie EVERY die Syntax, um eine aktualisierung zu planen, die in regelmäßigen Abständen auftritt. Wenn EVERY die Syntax angegeben ist, wird die Streamingtabelle oder materialisierte Ansicht regelmäßig im angegebenen Intervall aktualisiert, basierend auf dem angegebenen Wert, z HOUR. B. , , HOURS, DAY, DAYS, WEEKoder WEEKS. In der folgenden Tabelle sind akzeptierte ganzzahlige Werte für number.

        Zeiteinheit Ganzzahliger Wert
        HOUR or HOURS 1 <= H <= 72
        DAY or DAYS 1 <= D <= 31
        WEEK or WEEKS 1 <= 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 LOCAL wird nicht unterstützt.

        Fehlt AT TIME ZONE, wird die Sitzungszeitzone verwendet. Wenn AT TIME ZONE fehlt und die Sitzungszeitzone nicht festgelegt ist, wird ein Fehler ausgelöst. SCHEDULE ist semantisch äquivalent mit SCHEDULE REFRESH.

    • TRIGGER ON UPDATE [ AT MOST EVERY trigger_interval ]

      Von Bedeutung

      Das TRIGGER ON UPDATE Feature 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 EVERY den 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_interval ist eine INTERVAL-Anweisung , die mindestens 1 Minute beträgt.

      TRIGGER ON UPDATE hat 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 EVERY Klausel ist standardmäßig auf 1 Minute festgelegt und darf nicht kleiner als 1 Minute sein.
  • DROP SCHEDULE

    Entfernt einen Zeitplan aus der Streamingtabelle.

  • ALTER COLUMN clause

    Siehe ALTER-KlauselCOLUMN.

  • SET ROW FILTER Klausel

    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 FILTER

    Von 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 TAG zum Hinzufügen von Tags zur Streamingtabelle haben.

    • tag_name

      Ein STRING-Literal. Das tag_name muss innerhalb der Streamingtabelle eindeutig sein.

    • tag_value

      Ein 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 TAG haben, um Tags aus der Streamingtabelle zu entfernen.

    • tag_name

      Ein STRING-Literal. Das tag_name muss 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

  • column_identifier

    Der Name der Spalte, die geändert werden soll.

  • COMMENT comment

    Ändert die Beschreibung der column_name-Spalte. comment muss ein STRING-Literal sein.

  • SET MASK-Klausel

    Fü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 MASK

    Entfernt 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_name muss 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_name muss 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'