Używanie ALTER instrukcji z zestawami danych przepływu

Potoki lakeflow są definiowane w dedykowanym kodzie źródłowym utworzonym w języku SQL lub Python, na przykład w Edytorze potoków lakeflow.

Program Lakeflow Connect tworzy potoki, które pozyskują dane, i tworzy tabele strumieniowego pobierania danych.

Usługa Azure Databricks udostępnia również środowisko SQL o nazwie Databricks SQL. Możesz tworzyć zmaterializowane widoki i tabele strumieniowe w Databricks SQL, korzystając z funkcji potoków poza Lakeflow (zobacz Niezależne potoki). Zazwyczaj Databricks SQL nie służy do tworzenia potoków aktualizacji Lakeflow.

Można jednak użyć ALTER instrukcji SQL w usłudze Databricks SQL, aby zmodyfikować właściwości zestawu danych utworzonego za pomocą potoków lakeflow, usługi Databricks SQL lub Lakeflow Connect. Użyj tych instrukcji SQL w dowolnym środowisku Databricks SQL, niezależnie od tego, czy modyfikujesz zestawy danych potoku Lakeflow, samodzielne zestawy danych potoku, czy zestawy danych Lakeflow Connect.

W przypadku zestawów danych wspieranych przez autonomiczny potok utworzony w usłudze Databricks SQL można również zmienić właściciela przy użyciu polecenia SET OWNER TO.

SET OWNER TO Nie można ustawić grupy jako właściciela. Aby uczynić grupę właścicielem zmaterializowanego widoku lub tabeli streamingowej, użyj interfejsu workspace. Zobacz Ustaw tożsamość run-as na grupę.

Uwaga / Notatka

Nie można modyfikować harmonogramu ani wyzwalania zestawu danych zdefiniowanego w potokach Lakeflow 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 Lakeflow Pipelines, edytuj kod źródłowy potoku przy użyciu edytora potoku. Aby edytować definicję samodzielnego potoku, uruchom zmodyfikowaną instrukcję SQL w dowolnym środowisku Databricks SQL.

Dodatkowe zasoby