Databricks 开源声明式 ETL 框架,实现流程构建加速90%

Databricks 开源了其核心声明式 ETL 框架——Apache Spark Declarative Pipelines(原 Delta Live Tables),简化了批量和流式数据处理,显著缩短开发和维护时间,并将这一技术普惠于整个 Apache Spark 社区,同时向 Snowflake 发起挑战,提供从数据源到可用信息的全流程处理能力。

今天,在其年度 Data + AI Summit 上,Databricks 宣布将其核心声明式 ETL 框架以 Apache Spark Declarative Pipelines 的名义开源,并将在即将发布的版本中向整个 Apache Spark 社区提供。

Databricks 于 2022 年推出了该框架,命名为 Delta Live Tables(DLT),并自那时起不断扩展其功能,帮助团队从头到尾构建和运行可靠、可扩展的数据流程。此次开源举措进一步彰显了公司对开放生态系统的承诺,同时也是为了在数据工程这一关键领域上力压竞争对手 Snowflake(近期推出了用于数据集成的 Openflow 服务)。

Snowflake 的方案借助 Apache NiFi 将来自任何数据源的数据集中导入其平台,而 Databricks 则将其内部的数据流程工程技术开源,使用户能够在任何支持 Apache Spark 的环境中运行,而不仅仅局限于其自有平台。

声明数据流程,让 Spark 负责其余部分

传统上,数据工程一直面临三个主要挑战:复杂的数据流程编写、人工操作负担以及需要维护批处理与流处理工作负载的独立系统。

借助 Spark Declarative Pipelines,工程师可以使用 SQL 或 Python 描述数据流程应执行的任务,而 Apache Spark 则负责具体执行。该框架会自动跟踪表之间的依赖关系,管理表的创建与演变,并处理诸如并行执行、检查点和生产环境中重试等操作任务。

“你只需声明一系列数据集和数据流,Apache Spark 会找出合适的执行计划,”Databricks 著名软件工程师 Michael Armbrust 在接受 VentureBeat 采访时表示。

该框架开箱即支持批处理、流处理以及半结构化数据,包括来自 Amazon S3、ADLS 或 GCS 等对象存储系统的文件。工程师只需通过统一的 API 定义实时和定期处理,且在执行前对流程定义进行验证,以便尽早发现问题——无需维护独立系统。

“它的设计适应了现代数据的实际情形,例如变更数据源、消息总线及驱动 AI 系统的实时分析。如果 Apache Spark 能处理这些数据,这些数据流程同样可以应对,”Armbrust 解释道。他补充道,这种声明式方法标志着 Databricks 在简化 Apache Spark 方面的最新努力。

“首先,我们利用 RDD(弹性分布式数据集)使分布式计算具备了功能性;接着,我们通过 Spark SQL 让查询执行变得声明式;随后,我们将这一模型应用于 Structured Streaming 实现流处理,并借助 Delta Lake 赋予云存储事务性。如今,我们正迈出下一步,使端到端的数据流程也变得声明式,”他说。

在大规模环境中的验证

虽然声明式数据流程框架即将在 Apache Spark 代码库中落地,但其强大功能已为数千家企业所验证,这些企业利用它作为 Databricks Lakeflow 解决方案的一部分,来应对从日常批量报告到亚秒级流处理应用的各种工作负载。

总体来说,其好处十分显著:极大降低了开发数据流程或维护任务所消耗的时间,同时在性能、延迟或成本上实现了显著提升,具体取决于用户的优化目标。

金融服务公司 Block 利用该框架将开发时间缩短了 90% 以上,而 Navy Federal Credit Union 则将数据流程维护时间减少了 99%。构建声明式数据流程的基础是 Spark Structured Streaming 引擎,使团队可以根据自己的特定延迟要求(直至实时流处理)对数据流程进行定制。

“作为工程经理,我很欣喜于我的工程师们可以专注于对业务最重要的事物,”Navy Federal Credit Union 的高级工程经理 Jian Zhou 说道。“看到这一层次的创新如今被开源,使得更多团队也能受益,真令人振奋。”

84.51° 的高级数据工程师 Brad Turnbaugh 也指出,该框架“使得同时支持批处理与流处理变得更加容易,无需将独立系统拼凑在一起”,同时还减少了其团队需要维护的代码量。

与 Snowflake 的不同策略

作为 Databricks 最大的竞争对手之一,Snowflake 也在近期的会议上采取了一些措施来应对数据挑战,推出了一款名为 Openflow 的数据摄取服务。然而,在范围上,他们的做法与 Databricks 略有不同。

基于 Apache NiFi 构建的 Openflow 主要侧重于数据集成和将数据传送到 Snowflake 平台。用户在数据进入 Snowflake 后仍需进行数据清洗、转换和聚合;而 Spark Declarative Pipelines 则进一步优化,从数据源直达可用数据。

“Spark Declarative Pipelines 的构建旨在赋能用户轻松启动端到端的数据流程——专注于数据转换的简化以及支撑这些转换的复杂数据流程操作,”Armbrust 表示。

Spark Declarative Pipelines 的开源特性也使其有别于专有解决方案。用户无需成为 Databricks 客户即可利用这项技术,这与公司过去将 Delta Lake、MLflow 和 Unity Catalog 等重大项目贡献给开源社区的历史相一致。

发布时间表

Apache Spark Declarative Pipelines 将在即将发布的 Apache Spark 版本中提交到代码库中。不过,具体的发布时间尚未明确。

“自从推出我们的声明式数据流程框架以来,我们就一直对其开源前景充满期待,”Armbrust 说。“在过去的三年中,我们深入学习了最有效的模式,并对需要调整的部分进行了修正。如今,该框架已被充分验证,准备好在开源社区中大放异彩。”

此次开源发布还与 Databricks Lakeflow Declarative Pipelines 的正式上线同步,该商业版技术包含了额外的企业功能和支持。

Databricks Data + AI Summit 将于 2025 年 6 月 9 日至 12 日举行。

来源:VentureBeat

0赞

好文章,需要你的鼓励

2025

06/13

07:47

分享

点赞

邮件订阅