ALTER 语句与管道数据集配合使用

Lakeflow 管道是在由您使用 SQL 或 Python 编写的专门源代码中定义的,例如在 Lakeflow 管道编辑器 中。

Lakeflow Connect 创建引入数据的管道,并创建引入流式处理表。

Azure Databricks 还提供一个名为 Databricks SQL 的 SQL 环境。 您可以在 Lakeflow 之外使用管道功能,通过 Databricks SQL 创建物化视图和流式表(请参阅 独立管道)。 通常,Databricks SQL 不用于创建更新 Lakeflow 管道。

但是,可以使用 ALTER Databricks SQL 中的 SQL 语句修改使用 Lakeflow 管道或 Databricks SQL 创建的数据集的属性。 无论是修改 Lakeflow 管道数据集还是独立管道数据集,都可从任何 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 定义以删除掩码,然后将命令运行 ALTERDROP 掩码。

注释

若要编辑在 Lakeflow pipelines 中定义的管道定义,请使用 管道编辑器 编辑管道源。 若要编辑独立管道的定义,请在任何 Databricks SQL 环境中运行修改后的 SQL 语句。

其他资源