本部分提供了 Lakeflow 声明性管道 Python 编程接口的详细信息。
- 有关概念信息和使用 Python for Lakeflow 声明性管道的概述,请参阅 使用 Python 开发管道代码。
- 有关 SQL 参考,请参阅 Lakeflow 声明性管道 SQL 语言参考。
- 有关配置自动加载程序的详细信息,请参阅什么是自动加载程序?。
dlt
模块概述
Lakeflow 声明性管道的 Python 函数定义在 dlt
模块中。 利用 Python API 实现的管道必须导入此模块:
import dlt
定义数据集的函数
Lakeflow Declarative Pipelines 使用 Python 修饰器来定义具体化视图和流式处理表等数据集。 请参阅 Functions 来定义数据集。
API 参考
- append_flow
- 创建自动CDC流程
- create_auto_cdc_from_snapshot_flow
- create_sink
- create_streaming_table
- 期望值
- 桌子
- 视图
Python Lakeflow 声明性管道的注意事项
使用 Lakeflow 声明性管道 Python 接口实现管道时,需要注意以下事项:
- Lakeflow 声明性管道在规划和运行期间多次评估定义管道的代码。 定义数据集的 Python 函数应仅包含定义表或视图所需的代码。 数据集定义中包含的任意 Python 逻辑可能会导致意外行为。
- 不要尝试在数据集定义中实现自定义监视逻辑。 请参阅 使用事件挂钩定义 Lakeflow 声明性管道的自定义监视。
- 用于定义数据集的函数必须返回 Spark 数据帧。 不要在数据集定义中包含与返回的数据帧无关的逻辑。
- 切勿使用将文件或表保存或写入到 Lakeflow 声明性管道数据集代码中的方法。
不应在 Lakeflow 声明性管道代码中使用的 Apache Spark 示例操作:
collect()
count()
toPandas()
save()
saveAsTable()
start()
toTable()