Freigeben über


Verwenden von ALTER Anweisungen mit Pipeline-Datasets

Von Bedeutung

Dieses Feature befindet sich in der Public Preview.

Lakeflow Spark Declarative Pipelines (SDP) definiert Pipelines im Quellcode, die spezifisch für SDP sind. Sie können die Pipelinequelle entweder in SQL oder Python bearbeiten, z. B. im Lakeflow-Pipelines-Editor.

Azure Databricks stellt auch eine SQL-Umgebung mit dem Namen Databricks SQL bereit. Sie können materialisierte Ansichten und Streamingtabellen mit Databricks SQL mithilfe von Pipelinefunktionen außerhalb von SDP erstellen (siehe Verwenden von Pipelines in Databricks SQL). In der Regel wird Databricks SQL nicht mit Lakeflow Spark Declarative Pipelines verwendet.

Sie können jedoch SQL-Anweisungen in Databricks SQL verwenden ALTER , um die Eigenschaften eines Datasets zu ändern, das mit SDP oder Databricks SQL erstellt wurde. Verwenden Sie diese SQL-Anweisungen aus einer beliebigen Sql-Umgebung von Databricks, unabhängig davon, ob Sie SDP-Datasets oder Sql-Pipeline-Datasets von Databricks ändern.

Hinweis

Sie können den Zeitplan oder den Auslöser eines Datensatzes, das in SDP mit einer ALTER Anweisung definiert ist, nicht ändern.

Einschränkung: Pipeline-Updates und Änderungen, die mit ALTER

Es gibt Fälle, in denen ALTER Anweisungen mit der Definition der von der Pipeline erstellten Datasets in Konflikt stehen. Die SQL-Datei, die eine Tabelle oder Ansicht in einer Pipeline definiert, wird für jedes Update erneut ausgeführt. Dadurch können Sie Änderungen rückgängig machen, die Sie mit einer ALTER Anweisung getätigt haben.

Wenn Sie beispielsweise über eine SQL-Anweisung verfügen, die eine materialisierte Ansicht definiert, z. B. folgendes:

CREATE OR REPLACE MATERIALIZED VIEW masked_view (
    id int,
    name string,
    region string,
    ssn string MASK catalog.schema.ssn_mask_fn
  )
  WITH ROW FILTER catalog.schema.us_filter_fn ON (region)
  AS SELECT id, name, region, ssn
       FROM employees;

Anschließend versuchen Sie, die Maske mithilfe einer ssn Anweisung wie folgt aus der ALTER Spalte zu entfernen:

ALTER MATERIALIZED VIEW masked_view ALTER COLUMN ssn DROP MASK;

Die Maske wird entfernt, aber wenn die materialisierte Ansicht das nächste Mal aktualisiert wird, fügt die SQL-Definition sie wieder hinzu.

Um die Maske sicher zu entfernen, müssen Sie die SQL-Definition bearbeiten, um die Maske zu entfernen und dann den ALTER Befehl ausführen, um die Maske auf DROP zu entfernen.

Hinweis

Um die Definition einer in SDP definierten Pipeline zu bearbeiten, bearbeiten Sie Ihre Pipelinequelle mithilfe des Pipeline-Editors. Um die Definition einer in Databricks SQL definierten Pipeline zu bearbeiten, führen Sie die geänderte SQL-Anweisung in einer beliebigen Databricks SQL-Umgebung aus.

Weitere Ressourcen