Usare le dichiarazioni ALTER con i set di dati della pipeline

Le pipeline di Lakeflow vengono definite nel codice sorgente dedicato creato in SQL o Python, ad esempio nell'editor di Lakeflow Pipelines.

Lakeflow Connect crea pipeline di elaborazione che caricano dati e creano tabelle di streaming per l'ingestione.

Azure Databricks fornisce anche un ambiente SQL denominato Databricks SQL. È possibile creare viste materializzate e tabelle di streaming con Databricks SQL usando la funzionalità della pipeline all'esterno di Lakeflow (vedere Pipeline autonome). In genere, Databricks SQL non viene usato per creare pipeline di Update Lakeflow.

È tuttavia possibile usare ALTER istruzioni SQL in Databricks SQL per modificare le proprietà di un set di dati creato con pipeline Lakeflow, Databricks SQL o Lakeflow Connect. Usare queste istruzioni SQL da qualsiasi ambiente SQL di Databricks, indipendentemente dal fatto che si modifichi set di dati della pipeline Lakeflow, set di dati di pipeline autonomi o set di dati di Lakeflow Connect.

Per i set di dati supportati da una pipeline autonoma creata in Databricks SQL, è anche possibile modificare il proprietario con SET OWNER TO.

Annotazioni

Non è possibile modificare la pianificazione o il trigger di un set di dati definito nelle pipeline di Lakeflow con un'istruzione ALTER .

Limitazione: aggiornamenti della pipeline e modifiche apportate con ALTER

In alcuni casi le istruzioni ALTER sono in conflitto con la definizione dei set di dati creati dalla pipeline. L'SQL che definisce una tabella o una vista in una pipeline viene rieseguito ad ogni aggiornamento. Ciò può annullare le modifiche apportate con un'istruzione ALTER .

Ad esempio, se si dispone di un'istruzione SQL che definisce una vista materializzata, come illustrato di seguito:

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;

Quindi si tenta di rimuovere la maschera dalla ssn colonna usando un'istruzione ALTER , come illustrato di seguito:

ALTER MATERIALIZED VIEW masked_view ALTER COLUMN ssn DROP MASK;

La maschera viene rimossa, ma al successivo aggiornamento della vista materializzata la definizione SQL lo aggiunge nuovamente.

Per rimuovere la maschera in modo sicuro, è necessario modificare la definizione SQL per rimuovere la maschera e quindi eseguire il ALTER comando sulla DROP maschera.

Annotazioni

Per modificare la definizione di una pipeline definita nelle pipeline di Lakeflow, modificare l'origine della pipeline usando l'editor della pipeline. Per modificare la definizione di una pipeline autonoma, eseguire l'istruzione SQL modificata in qualsiasi ambiente SQL di Databricks.

Risorse aggiuntive