パイプライン データセットでALTERステートメントを使用する
LakeFlow Spark宣言型パイプライン (SDP) は、SDP に固有のソース コードでパイプラインを定義します。 パイプライン ソースはSQLまたはPython (たとえば、 LakeFlow Pipelines Editor)で編集できます。
LakeFlow Connect 、データを取り込むパイプラインを作成し、取り込みストリーミング テーブルを作成します。
Databricksは、 Databricks SQLと呼ばれるSQL環境も提供しています。SDP 外部のパイプライン機能を使用して、 Databricks SQLでマテリアライズドビューとストリーミング テーブルを作成できます (スタンドアロン パイプラインを参照)。 通常、 Databricks SQL LakeFlow Spark宣言型パイプラインでは使用されません。
ただし、Databricks SQL ではALTER SQL ステートメントを使用して、SDP、Databricks SQL、または Lakeflow Connect のいずれかで作成されたデータセットのプロパティを変更できます。SDPデータセット、スタンドアロンのパイプラインデータセット、LakeFlow Connectデータセットのいずれを修正する場合でも、これらのSQLステートメントを任意のDatabricks SQL環境から使用します。
- ストリーミングテーブル - ALTER STREAMING TABLE
- MATERIALIZED VIEW
Databricks SQLで作成されたスタンドアロンのパイプラインによってサポートされるデータセットの場合、SET OWNER TOを使用して所有者を変更することもできます。
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;
次に、次のように、 ALTERステートメントを使用してssn列からマスクを削除してみます。
ALTER MATERIALIZED VIEW masked_view ALTER COLUMN ssn DROP MASK;
マスクは削除されますが、次回マテリアライズドビューが更新されるときに、 SQL定義によってマスクが再び追加されます。
マスクを安全に削除するには、SQL 定義を編集してマスクを削除し、 ALTERコマンドを実行してマスクをDROPする必要があります。
SDP で定義されているパイプラインの定義を編集するには、パイプライン エディターを使用してパイプライン ソースを編集します。スタンドアロンパイプラインの定義を編集するには、いずれかのDatabricks SQL環境で変更されたSQLステートメントを実行します。