Udostępnij za pomocą


Używanie ALTER instrukcji z zestawami danych przepływu

Ważne

Ta funkcja jest dostępna w publicznej wersji testowej.

Potoki deklaratywne Lakeflow Spark (SDP) definiują potoki w kodzie źródłowym specyficznym dla SDP. Źródło przepływu pracy można edytować w języku SQL lub Python, na przykład w Lakeflow Pipelines Editor.

Usługa Azure Databricks udostępnia również środowisko SQL o nazwie Databricks SQL. Możesz tworzyć zmaterializowane widoki i tabele przesyłania strumieniowego w Databricks SQL przy użyciu funkcji pipeline poza SDP (zobacz Używanie potoków w Databricks SQL). Zazwyczaj Databricks SQL nie jest używane z deklaratywnymi potokami Spark platformy Lakeflow.

Można jednak użyć ALTER instrukcji SQL w usłudze Databricks SQL, aby zmodyfikować właściwości zestawu danych utworzonego przy użyciu protokołu SDP lub usługi Databricks SQL. Użyj tych instrukcji SQL z dowolnego środowiska SQL usługi Databricks, niezależnie od tego, czy modyfikujesz zestawy danych SDP, czy zestawy danych potoku SQL usługi Databricks.

Uwaga / Notatka

Nie można zmodyfikować harmonogramu ani wyzwalacza zestawu danych zdefiniowanego w programie SDP za pomocą instrukcji ALTER .

Ograniczenie: aktualizacje i zmiany przepływu pracy wprowadzone poleceniem ALTER

Istnieją przypadki, w których ALTER instrukcje powodują konflikt z definicją zestawów danych utworzonych przez przepływ. Język SQL definiujący tabelę lub widok w potoku jest uruchamiany ponownie przy każdej aktualizacji. Może to cofnąć zmiany wprowadzone za pomocą instrukcji ALTER .

Jeśli na przykład masz instrukcję SQL, która definiuje zmaterializowany widok, tak jak poniżej:

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;

Następnie spróbujesz usunąć maskę z ssn kolumny przy użyciu ALTER instrukcji , w następujący sposób:

ALTER MATERIALIZED VIEW masked_view ALTER COLUMN ssn DROP MASK;

Maska zostanie usunięta, ale następnym razem, gdy zmaterializowany widok zostanie zaktualizowany, definicja SQL doda ją z powrotem.

Aby bezpiecznie usunąć maskę, należy edytować definicję SQL, aby usunąć maskę, a następnie uruchomić ALTER polecenie do DROP maski.

Uwaga / Notatka

Aby edytować definicję potoku zdefiniowanego w programie SDP, edytuj źródło potoku przy użyciu edytora potoku. Aby edytować definicję potoku zdefiniowanego w Databricks SQL, uruchom zmodyfikowaną instrukcję SQL w dowolnym środowisku Databricks SQL.

Dodatkowe zasoby