数据湖之Hudi源码编译

文章介绍了在CentOS系统上如何安装Maven并配置环境变量,然后详细阐述了下载Hudi0.9.0源码并进行编译的过程,包括使用mvncleanpackage命令集成Spark2.4。接着,文章提到了如何通过HudiCLI进行测试以及在SparkShell中读取Hudi表数据的步骤。最后,讨论了Hudi表数据在HDFS中的存储结构,包括.hoodie文件和分区存储的数据文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、Maven安装

在centos系统上安装Maven,直接将Maven解压,然后配置系统环境变量即可,配置完Maven环境变量以后,执行mvn -version。

二、下载源码包

到Apache软件归档目录下载Hudi 0.8源码包: http://archive.apache.org/dist/hudi/0.9.0/

wget https://archive.apache.org/dist/hudi/0.9.0/hudi-0.9.0.src.tgz

编译Hudi源码步骤

三、执行编译命令

集成spark2

 mvn clean package -DskipTests -Dspark2.4

四、Hudi  CLI测试

编译完成以后,进入hudi-cli目录,运行hudi-cli脚本,如果可以运行,说明编译成功。

五、通过spark-shell来访问hudi,读取hudi表的数据

编译出的spark包在 packaging/hudi-spark-bundle/target 目录下面:

spark-shell \
> --master local[2] \
> --jars /root/bigdata/hudi/hudi/packaging/hudi-spark-bundle/target/hudi-spark2.4-bundle_2.11-0.14.0-SNAPSHOT.jar \
> --conf "spark.serializer=org.apache.spark.serializer.KryoSerializer"
spark.read.format("hudi").load("/hudi/hudi_tbl/").show()

六、Hudi表数据结构

Hudi表的数据文件,可以使用操作系统的文件系统存储,也可以使用HDFS这种分布式的文件存储系统。为了后续分析性能和数据和可靠性,一般使用HDFS进行存储。以HDFS存储来看,一个Hudi表的存储文件分为两类。

 .hoodie文件:由于CRUD的零散性,每一次的操作都会生成一个文件,这些小文件越来越多后,会严重影响HDFS的性能,Hudi设计了一套文件合并机制。.hoodie文件夹中存放了对应的文件合并操作相关的日志文件。

amricas和asia相关的路径是实际的数据文件,按分区存储,分区的路径key是可以指定的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值