Použití ALTER příkazů s datovými sadami pipeline

Kanály Lakeflow jsou definované ve vyhrazeném zdrojovém kódu, který vytváříte v SQL nebo Python, například v Editoru kanálů Lakeflow.

Lakeflow Connect vytváří kanály, které ingestují data, a vytváří tabulky streamování příjmu dat.

Azure Databricks také poskytuje prostředí SQL s názvem Databricks SQL. Pomocí Databricks SQL můžete vytvářet materializovaná zobrazení a streamingové tabulky s využitím funkcí kanálů mimo Lakeflow (viz Samostatné kanály). Databricks SQL se obvykle nepoužívá k vytvoření aktualizačních kanálů Lakeflow.

Příkazy SQL v Databricks SQL ale můžete použít ALTER k úpravě vlastností datové sady vytvořené pomocí kanálů Lakeflow, Databricks SQL nebo Lakeflow Connect. Tyto příkazy SQL můžete použít z libovolného prostředí Databricks SQL bez ohledu na to, jestli upravujete datové sady kanálů Lakeflow, samostatné datové sady kanálů nebo datové sady Lakeflow Connect.

U datových sad založených na samostatném kanálu vytvořeném v Databricks SQL můžete vlastníka změnit také pomocí SET OWNER TO.

Poznámka:

Nemůžete upravit plán ani spouštěč datové sady definované v pipelinech Lakeflow pomocí příkazu ALTER.

Omezení: Aktualizace potrubí a změny provedené pomocí ALTER

Existují případy, kdy ALTER příkazy kolidují s definicí datových sad vytvořených kanálem. SQL, který definuje tabulku nebo zobrazení v rámci datového toku, se znovu spustí při každé aktualizaci. To může vrátit zpět změny, které provedete pomocí ALTER příkazu.

Pokud máte například příkaz SQL, který definuje materializované zobrazení, například následující:

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;

Pak se pokusíte masku ze ssn sloupce odebrat pomocí ALTER příkazu, například takto:

ALTER MATERIALIZED VIEW masked_view ALTER COLUMN ssn DROP MASK;

Maska se odebere, ale při příští aktualizaci materializovaného zobrazení ji definice SQL znovu přidá.

Pokud chcete masku bezpečně odebrat, musíte upravit definici SQL, aby se maska odebrala, a pak spusťte příkaz ALTER k DROP masky.

Poznámka:

Pokud chcete upravit definici kanálu definovaného v kanálech Lakeflow, upravte zdroj kanálu pomocí editoru kanálů. Pokud chcete upravit definici samostatného kanálu, spusťte upravený příkaz SQL v libovolném prostředí Sql Databricks.

Dodatečné zdroje