1.安装前准备
1.1 环境准备
hadoop-3.3.2
hive-3.1.3
spark-3.3.2
hudi-0.12.3
1.2 安装maven
apache-maven-3.8.6-bin.tar.gz
配置环境变量
# maven
export MAVEN_HOME=/data/base/maven-3.8.6
export PATH=$PATH:$MAVEN_HOME/bin
修改maven本地仓库配置和阿里云maven远程仓库
<localRepository>/m2/repository</localRepository>
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
1.3 下载源码包
wget https://dlcdn.apache.org/hudi/0.12.3/hudi-0.12.3.src.tgz --no-check-certificate
2. 编译
2.1 修改hudi pom.xml
vim /data/lake/hudi-0.12.3/pom.xml
<hadoop.version>3.3.2</hadoop.version>
<hive.groupid>org.apache.hive</hive.groupid>
<hive.version>3.1.3</hive.version>
修改 hudi pom.xml 新增阿里云maven仓库源
<repository>
<id>nexus-aliyun</id>
<name>nexus-aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
使用maven编译
mvn clean package -DskipTests -Dspark3.3 -Dflink1.14 -Dscala-2.12 -Dhadoop.version=3.3.2 -Pflink-bundle-shade-hive3
2.2 编译报错解决
HoodieParquetDataBlock.java:[110,44] 对于FSDataOutputStream(java.io.ByteArrayOutputStream), 找不到合适的构造器
解决方法
3. Hudi客户端使用测试
cd /data/lake/hudi-0.12.3/hudi-cli
./hudi-cli.sh