简介
Delta Lake是一个开源项目,能够在数据湖之上构建湖仓一体架构。Delta Lake提供ACID事务、可扩展的元数据处理,并在现有数据湖(如S3、ADLS、GCS和HDFS)之上统一流式和批处理数据处理。
具体来说,Delta Lake 提供:
ACID事务在Spark上:可序列化的隔离级别确保读取者永远不会看到不一致的数据。
可扩展的元数据处理:利用Spark的分布式处理能力,轻松处理包含数十亿文件的PB级表的所有元数据。
流式处理 和 批处理 统一:Delta Lake 中的表既是批处理表,也是流式数据源和接收器。流式数据摄取、批量历史回填、交互式查询都可以直接开箱即用。
模式强制:自动处理模式变化,防止在数据摄取过程中插入不良记录。
时间旅行: 数据版本控制支持回滚、完整的历史审计追踪以及可复现的机器学习实验。
更新插入 和 删除:支持合并、更新和删除操作,以实现复杂的使用场景,如变更数据捕获、缓慢变化维度(SCD)操作、流式更新插入等。
丰富的连接器生态系统:Delta Lake拥有多种连接器,可以从Apache Spark、Apache Flink、Apache Hive、Apache Trino、AWS Athena等各类数据处理引擎读写Delta表。
要开始使用,请遵循快速入门指南了解如何将Delta Lake与Apache Spark结合使用。