从 ETL 到 Lakeflow:转向声明式数据范式
如果您在数据平台领域工作超过几年,几乎肯定曾两次构建相同的管道。首先是 2019 年团队编写管道的方式:这里一个 Notebook,那里一个 Python 脚本,用 Airflow DAG 将它们串联起来,并附上一份冗长的文档说明任务执行的顺序。随后是两年后的重构,起因是有人离职,而无人能记得为何某个任务中包含了 sleep(180)。
Lakeflow 是 Databricks 针对这一模式提出的解决方案,其所推动的转变远比营销宣传所暗示的更为深远。它并非一种新的编排器,而是从命令式管道向声明式管道的转变:在命令式管道中,您需要编写具体步骤;而在声明式管道中,您只需定义目标,由引擎自动推演所需步骤。以下内容是该转变的务实版本——实际差异何在、收益真实体现在何处,以及如何迁移而不至于陷入“半湖仓”的困境。