パイプライン データセットで ALTER ステートメントを使用する

Lakeflow パイプラインは、SQL または Python (Lakeflow パイプライン エディターなど) で作成する専用のソース コードで定義されます。

Lakeflow Connect は、データを取り込むパイプラインを作成し、インジェスト ストリーミング テーブルを作成します。

Azure Databricks には、 Databricks SQL と呼ばれる SQL 環境も用意されています。 Lakeflow の外部にあるパイプライン機能を使用して、Databricks SQL を使用して具体化されたビューとストリーミング テーブルを作成できます ( スタンドアロン パイプラインを参照)。 通常、Databricks SQL は更新 Lakeflow パイプラインの作成には使用されません。

ただし、Databricks SQL ALTER SQL ステートメントを使用して、Lakeflow パイプライン、Databricks SQL、または Lakeflow Connect で作成されたデータセットのプロパティを変更できます。 Lakeflow パイプライン データセット、スタンドアロン パイプライン データセット、Lakeflow Connect データセットのいずれを変更する場合でも、Databricks SQL 環境からこれらの SQL ステートメントを使用します。

Databricks SQL で作成されたスタンドアロン パイプラインによってサポートされるデータセットの場合は、 SET OWNER TOを使用して所有者を変更することもできます。

ALTER ステートメントを使用して、Lakeflow パイプラインで定義されているデータセットのスケジュールまたはトリガーを変更することはできません。

制限事項: 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する必要があります。

Lakeflow パイプラインで定義されているパイプラインの定義を編集するには、パイプライン エディターを使用してパイプライン ソースを編集 します。 スタンドアロン パイプラインの定義を編集するには、Databricks SQL 環境で変更された SQL ステートメントを実行します。

その他のリソース