这个项目能做什么
Apache Hudi(Hadoop Upserts Deletes and Incrementals)是一个围绕高性能开放表格式构建的开源数据湖平台。它使组织能够在多个云数据环境中摄取、索引、存储、服务、转换和管理数据,同时以开放格式将数据保存在云存储上。
关键能力包括:
**摄取**:为 Apache Spark 和 Apache Flink 用户提供内置工具,支持多种文件格式、数据库变更日志和流式数据系统。包括用于引入外部数据源的 Kafka Connect sink。
**存储**:优化的存储格式,支持行式和列式数据。具有时间线元数据以跟踪变更历史,使用统计信息自动管理文件大小和布局,提供用于数据版本控制和恢复的保存点,以及带演进的模式跟踪。
**索引**:可扩展的索引子系统,加速快照查询,由写入自动维护。跟踪文件列表、列级和分区级统计信息,以实现高效的查询规划。通过行式文件格式和布隆过滤器提供记录级索引,并使用与物理存储分区解耦的表达式索引实现逻辑分区。
**写入**:支持回滚/恢复的原子提交。利用记录级索引实现快速更新/删除操作。写入者和查询之间具有快照隔离。提供乐观并发控制(用于关系数据模型的读-修改-写)和非阻塞并发控制(用于流式数据模型,处理乱序/延迟数据)。
**查询**:单表支持多种查询类型:快照查询(最新已提交状态)、增量查询(自某个时间点以来的变更)、变更数据捕获查询(带前后镜像的变更流)、时间旅行查询(表在给定时间点的状态)以及读优化查询(通过压缩实现列式存储性能)。
**表管理**:自动、无需人工干预的表服务,集成到 Spark/Flink 写入器中或独立运行。可配置调度并支持故障处理。清理和 TTL 管理用于存储回收。聚类和空间填充曲线算法用于数据布局优化。将行式数据异步压缩为列式格式。在持续操作期间构建一致的索引。与 Hive Metastore、AWS Glue、Google BigQuery、Apache XTable 等目录同步。
Hudi 支持使用多个 Spark 版本(3.3 至 4.2)和 Flink 版本(1.18 至 2.2)构建,并提供 Scala 2.12/2.13 选项。项目使用 Maven 进行构建,并提供全面的测试配置(单元、功能、集成)。
评论
0 评分人数达到10人后显示
登录后参与讨论。