Apache Hudi是一个Data Lakes的开源方案,Hudi是Hadoop Updates and Incrementals的简写,它是由Uber开发并开源的Data Lakes解决方案。Hudi具有如下基本特性/能力: Hudi能够摄入(Ingest)和管理(Manage)基于HDFS之上的大型分析数据集,主要目的是高效的减少入库延时。 Hudi基于Spark来对HDFS上的数据进行更新、插入、删除等。 Hudi在HDFS数据集上提供如下流原语:插入更新(如何改变数据集);增量拉取(如何获取变更的数据)。 Hudi可以对HDFS上的parquet格式数据进行插入/更新操作。 Hudi通过自定义InputFormat与Hadoop生态系统(Spark、Hive、Parquet)集成。 Hudi通过Savepoint来实现数据恢复。 目前,Hudi支持Spark 2.x版本,建议使用2.4.4+版本的Spark。 基本架构 与Kudu相比,Kudu是一个支持OLTP workload的数据存储系统,而Hudi的设计目标是基于Hadoop兼容的文件系统(如HDFS、S3等),重度依赖Spark的数据处理能力来实现增量处理和丰富的查询能力,Hudi支持Incremental Pulling而Kudu不支持。 Hudi能够整合Batch和Streaming处理的能力,这是通过利用