将
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 Connect 创建的数据集的属性。 无论是修改 Lakeflow 管道数据集、独立管道数据集还是 Lakeflow Connect 数据集,都可从任何 Databricks SQL 环境中使用这些 SQL 语句。
- 流式处理表 - ALTER STREAMING TABLE
- 物化视图 - ALTER MATERIALIZED VIEW
对于由 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 pipelines 中定义的管道定义,请使用 管道编辑器 编辑管道源。 若要编辑独立管道的定义,请在任何 Databricks SQL 环境中运行修改后的 SQL 语句。