Apache Spark 声明式管道

Lakeflow 管道基于 Apache Spark™ 声明性管道(SDP)构建。 Lakeflow 管道在性能优化的 Databricks Runtime 上运行,并与 SDP 互操作。 由于管道基于 SDP 而不是专有 API 生成,因此编写的转换代码始终可移植到其他 SDP 运行时。

什么是 Spark 声明性管道?

Apache Spark 声明性管道是一个声明性框架,用于在 SQL 和 Python 中开发和运行批处理和流式处理数据管道。 SDP 自动执行业务流程,并组织管道中的流之间的依赖关系。 SDP 简化了引入和转换开发,因此不必专注于数据工作流的业务流程机制。

SDP 的常见用例包括:

  • 从云存储(如 Azure ADLS Gen2)等来源进行批量数据引入。

  • 从消息总线(如 Apache Kafka、Amazon Kinesis、Azure EventHub 和 Apache Pulsar)引入增量数据。

  • 使用无状态和有状态运算符的增量批处理和流式转换。

有关声明性数据处理的更多详细信息,请参阅 Databricks 中的过程与声明性数据处理

Lakeflow 管道如何扩展 SDP?

Lakeflow 管道与 SDP 共享相同的声明性创作模型,并添加生产功能,例如 AUTO CDC、数据质量预期和可查询事件日志。 下表比较了 Lakeflow 管道与 SDP 共享的功能以及 Databricks 添加的生产功能。 有关 SDP 项目规范与管道配置之间的逐项属性映射,请参阅 管道属性参考

能力 Sdp Lakeflow 管道
SQL 和 Python 中的声明性管道
流式处理表
实例化视图
临时视图
追加流
接收器(Delta、Apache Kafka 和 Azure 事件中心)
自动编排和依赖关系解析
可在 SDP 运行时之间移植的管道代码
AUTO CDC(SCD 类型 1 和 SCD 类型 2)和基于快照的 AUTO CDC
数据质量预期
可查询 事件日志
更新流和 foreachBatch 接收端
连续模式

其他资源