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

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

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

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

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

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

SET OWNER TO オーナーとしてグループを設定することはできません。 グループをマテリアライズド ビューまたはストリーミング テーブルの所有者に設定するには、ワークスペースの UI を使用します。 run-as ID をグループに設定するを参照してください。

注

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 ステートメントを実行します。

その他のリソース