简介
Delta Lake 是一个开源项目,可以在数据湖之上构建 Lakehouse 体系结构。 Delta Lake 提供 ACID 事务和可缩放的元数据处理,并在现有数据湖之上统一流式处理和批数据处理。
具体而言,Delta Lake 提供:
Spark 上的 ACID 事务:可序列化的隔离级别可避免读者看到不一致的数据。
可缩放的元数据处理:利用 Spark 的分布式处理能力,轻松处理包含数十亿文件的 PB 级表的所有元数据。
流式处理和批处理统一:Delta Lake 中的表是批处理表,也是流式处理源和接收器。 流式处理数据引入、批处理历史回填、交互式查询功能都是现成的。
架构强制:自动处理架构变体,以防在引入过程中插入错误的记录。
按时间顺序查看:数据版本控制支持回滚、完整的历史审核线索和可重现的机器学习试验。
更新插入和删除:支持合并、更新和删除操作,以启用复杂用例,如更改数据捕获、渐变维度 (SCD) 操作、流式处理更新插入等。
Delta Engine 优化使 Delta Lake 操作具有高性能,并支持各种工作负载,从大规模 ETL 处理到临时交互式查询均可。 有关 Delta Engine 的信息,请参阅优化。
快速入门
Delta Lake 快速入门概述了使用 Delta Lake 的基础知识。 本快速入门介绍如何将数据加载到 Delta 表中,以及如何修改表、读取表、显示表历史记录和优化表。
有关演示这些功能的 Azure Databricks 笔记本,请参阅介绍性笔记本。
若要试用 Delta Lake,请参阅注册 Azure Databricks。
关键任务
以下列表提供了常见 Delta Lake 任务的文档链接。
创建 Delta 表:快速入门,作为批处理数据任务的一部分
将数据加载并写入到 Delta Lake 表:
从 Delta 表读取数据:快速入门,作为批处理数据任务的一部分,作为流式处理的一部分
优化 Delta 表:快速入门,作为 bin 打包的一部分,作为 Z 排序的一部分,作为文件大小调整的一部分
显示 Delta 表的历史记录:快速入门,作为数据实用工具的一部分
清理 Delta 表快照 (vacuum):快速入门,作为数据实用工具的一部分
使用 Delta 表列:
使用 Delta 表版本:
- 查询早期版本的 Delta 表(按时间顺序查看):快速入门,作为批处理数据任务的一部分
- 将 Delta 表还原或回滚到早期版本
- 使用 Delta 表读取器和编写器版本
使用 Delta 表元数据:
资源
- 有关常见问题的解答,请参阅常见问题 (FAQ)。
- 有关 Delta Lake SQL 命令的参考信息,请参阅 Delta Lake 语句。
- 有关更多资源(包括博客文章、讨论和示例),请参阅 Delta Lake 资源。