项目介绍
一种开源存储框架,能够通过Spark、PrestoDB、Flink、Trino和Hive等计算引擎及API构建湖仓架构。
An open-source storage framework that enables building a Lakehouse architecture with compute engines including Spark, PrestoDB, Flink, Trino, and Hive and APIs
智能解读
Delta Lake 是一个开源存储框架,旨在构建现代化的“湖仓一体”架构。它在现有数据湖(如云存储或HDFS)之上,通过提供 ACID 事务、数据版本控制、模式演进和审计历史等关键特性,将数据湖的灵活性与数据仓库的可靠性结合起来。该项目支持使用 Apache Spark、PrestoDB、Flink、Trino 和 Hive 等多种流行的大数据计算引擎进行读写操作,并提供了 Scala、Java、Python、Rust 和 Ruby 等多种语言的 API。这使得团队能够在同一个数据存储上同时运行高性能的批处理、流式处理和交互式查询,有效解决了数据湖中常见的数据一致性和可靠性问题,适用于大数据分析、机器学习和实时数据处理等多种场景。
原始标签
智能标签
使用场景
最适合需要ACID事务、多引擎协作和数据版本管理的数据湖仓一体化场景。
数据更新与回滚
在数据湖中更新或删除特定记录时,传统Parquet文件无法保证ACID事务,可能导致数据不一致。
Delta Lake提供ACID事务支持,允许通过Spark SQL执行UPDATE、DELETE和MERGE操作,并支持版本回滚到历史状态。
电商平台需要修正某批订单的价格错误,可以使用`MERGE INTO`语句精准更新,如果操作失误还能通过`RESTORE TABLE`回滚到前一版本。
多引擎统一访问
不同计算引擎(Spark、Presto、Flink)访问同一数据湖时,格式兼容性和并发读写容易冲突。
Delta Lake作为开放存储格式,通过标准连接器支持Spark、PrestoDB、Trino、Flink等引擎安全并发读写。
数据团队用Spark ETL写入数据,分析师用Presto/Trino实时查询,Flink流处理同时写入,所有引擎通过Delta事务日志协调避免冲突。
流批数据统一
流处理和批处理数据存储分离,导致架构复杂且难以保证数据一致性。
Delta Lake支持将流式数据直接写入数据湖,实现同一张表同时服务流处理和批处理查询。
用户行为日志通过Spark Structured Streaming实时写入Delta表,同时批处理任务可以读取同一张表进行历史分析,无需数据同步。
数据质量监控
数据管道写入错误数据后难以快速发现和修复,影响下游分析结果。
Delta Lake提供数据版本控制、Schema约束和时间旅行功能,便于数据审计和质量追溯。
通过`DESCRIBE HISTORY table`查看数据变更记录,使用`VERSION AS OF`查询历史快照定位问题数据,并设置Schema约束防止非法数据写入。
项目健康度
距上次更新 1 天
平台 Star TOP 25% · Forks 2,079
本周 +25 ⭐ · 本月 +63 ⭐
388 位贡献者 · 0 条平台评论
缺少 1 项内容
项目信息
赞赏支持
如果本站对你有帮助,欢迎打赏支持
微信
支付宝
Widget 徽章
相关项目推荐
twitter/the-algorithm
X 推荐算法源代码
apache/spark
Apache Spark——面向大规模数据处理的统一分析引擎
lichess-org/lila
♞ lichess.org:永久免费、无广告、开源的国际象棋服务器 ♞
scala/scala
Scala 2编译器与标准库。Scala 2错误报告请提交至https://github.com/scala/bug;Scala 3项目位于https://github.com/scala/scala3
akka/akka-core
一个用于构建和运行具备弹性、敏捷性和韧性应用的平台。提供软件开发工具包、程序库及托管环境。
akka/akka
一个用于构建和运行具备弹性、敏捷性和韧性应用的平台。提供SDK、库及托管环境。
加载评论中...