Поделиться через


Использование ALTER инструкций с наборами данных конвейера

Это важно

Эта функция доступна в общедоступной предварительной версии.

Декларативные конвейеры Spark Lakeflow (SDP) определяют конвейеры в исходном коде, относящемся к SDP. Можно изменить источник конвейера в SQL или Python, например в редакторе конвейеров Lakeflow.

Azure Databricks также предоставляет среду SQL с именем Databricks SQL. Можно создавать материализованные представления и потоковые таблицы с помощью Databricks SQL с помощью функций конвейера за пределами SDP (см. статью "Использование конвейеров в Databricks SQL"). Как правило, Databricks SQL не используется с декларативными конвейерами Spark Lakeflow.

Однако инструкции SQL в Databricks SQL можно использовать ALTER для изменения свойств набора данных, созданного с помощью SDP или Databricks SQL. Используйте эти инструкции SQL из любой среды SQL Databricks, независимо от того, изменяете ли наборы данных SDP или наборы данных конвейера Databricks SQL.

Замечание

Невозможно изменить расписание или триггер набора данных, определенного в SDP, с помощью инструкции ALTER .

Ограничение: обновления конвейера и изменения, внесенные с помощью ALTER

Существуют случаи, когда ALTER утверждения конфликтуют с определением наборов данных, созданных с помощью конвейера. SQL, определяющий таблицу или представление в конвейере, выполняется повторно при каждом обновлении. Это может отменить изменения, внесенные с помощью инструкции ALTER .

Например, если у вас есть инструкция SQL, которая определяет материализованное представление, например следующее:

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;

Затем вы попытаетесь удалить маску из столбца ssn с помощью инструкции ALTER , как показано ниже.

ALTER MATERIALIZED VIEW masked_view ALTER COLUMN ssn DROP MASK;

Маска удаляется, но при следующем обновлении материализованного представления определение SQL добавляет его обратно.

Чтобы безопасно удалить маску, необходимо изменить определение SQL, чтобы удалить маску, а затем выполнить ALTER команду в DROP маску.

Замечание

Чтобы изменить определение конвейера, определенного в SDP, измените источник конвейера с помощью редактора конвейера. Чтобы изменить определение конвейера, определенного в Databricks SQL, выполните измененную инструкцию SQL в любой среде SQL Databricks.

Дополнительные ресурсы