当前位置: 首页 > news >正文

Apache Hudi 1.0.0源码编译

编译Hudi1.0.0

1、Maven软件下载

https://maven.apache.org/download.cgi

地址:https://dlcdn.apache.org/maven/maven-3/3.9.9/binaries/apache-maven-3.9.9-bin.tar.gz

wget https://dlcdn.apache.org/maven/maven-3/3.9.9/binaries/apache-maven-3.9.9-bin.tar.gz

tar -zxvf apache-maven-3.9.9-bin.tar.gz

2、添加mvn环境变量

编辑环境变量

vi /etc/profile

环境变量添加

export MAVEN_HOME=/usr/local/soft/apache-maven-3.9.9 export PATH=$PATH:$MAVEN_HOME/bin

使环境变量生效

source /etc/profile

3、添加Maven镜像

/usr/local/soft/apache-maven-3.9.9/conf/settings.xml

两个都需要,只有阿里云有些库下载不了

<mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror> <mirror> <id>confluent</id> <name>confluent maven</name> <url>http://packages.confluent.io/maven/</url> <mirrorOf>confluent</mirrorOf> </mirror>

4、验证mvn

mvn -v


5、下载hudi 1.0.0

hudi下载地址

Download | Apache Hudi

或Index of /hudi/1.0.0

下载

wget https://downloads.apache.org/hudi/1.0.0/hudi-1.0.0.src.tgz

6、解压hudi

tar -zxvf hudi-1.0.0.src.tgz

7、修改hudi源码

a、 修改/usr/local/soft/hudi-1.0.0/hudi-sync/hudi-hive-sync/src/test/java/org/apache/hudi/hive/testutils/HiveTestUtil.java文件第250行,把 zkServer.shutdown(true);改为 zkServer.shutdown();

b、修改/usr/local/soft/hudi-1.0.0/pom.xml,注释或去掉410行内容

cd /usr/local/soft wget http://packages.confluent.io/archive/5.5/confluent-5.5.0-2.12.zip unzip confluent-5.5.0-2.12.zip cd confluent-5.5.0/ mvn install:install-file -DgroupId=io.confluent -DartifactId=common-config -Dversion=5.5.0 -Dpackaging=jar -Dfile=./confluent-5.5.0/share/java/confluent-common/common-config-5.5.0.jar mvn install:install-file -DgroupId=io.confluent -DartifactId=ommon-utils -Dversion=5.5.0 -Dpackaging=jar -Dfile=./confluent-5.5.0/share/java/confluent-common/ommon-utils-5.5.0.jar mvn install:install-file -DgroupId=io.confluent -DartifactId=common-utils -Dversion=5.5.0 -Dpackaging=jar -Dfile=./confluent-5.5.0/share/java/confluent-common/common-utils-5.5.0.jar mvn install:install-file -DgroupId=io.confluent -DartifactId=kafka-avro-serializer -Dversion=5.5.0 -Dpackaging=jar -Dfile=./confluent-5.5.0/share/java/kafka-rest/kafka-avro-serializer-5.5.0.jar mvn install:install-file -DgroupId=io.confluent -DartifactId=kafka-schema-registry-client -Dversion=5.5.0 -Dpackaging=jar -Dfile=./confluent-5.5.0/share/java/kafka-rest/kafka-schema-registry-client-5.5.0.jar mvn install:install-file -DgroupId=io.confluent -DartifactId=kafka-json-schema-serializer -Dversion=5.5.0 -Dpackaging=jar -Dfile=./confluent-5.5.0/share/java/kafka-rest/kafka-json-schema-serializer-5.5.0.jar

c、修改pom添加如下内容

/usr/local/soft/hudi-1.0.0/packaging/hudi-spark-bundle/pom.xml

/usr/local/soft/hudi-1.0.0/packaging/hudi-utilities-bundle/pom.xml

<!-- 增加hudi配置版本的jetty --> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-server</artifactId> <version>${jetty.version}</version> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-util</artifactId> <version>${jetty.version}</version> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-webapp</artifactId> <version>${jetty.version}</version> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-http</artifactId> <version>${jetty.version}</version> </dependency>

8、编译hudi

cd hudi-1.0.0
mvn clean package -DskipTests -Dspark3.5 -Dflink1.20 -Dscala-2.12 -Dhadoop.version=3.4.0 -Pflink-bundle-shade-hive3

mvn clean package -DskipTests -Dspark3.4 -Dflink1.14 -Dscala-2.12 -Dhadoop.version=3.1.1 -Pflink-bundle-shade-hive3

参考:

CDP集成Hudi-编译部署-CSDN博客

大数据之数据湖Apache Hudi-CSDN博客

http://www.jsqmd.com/news/1069800/

相关文章:

  • Clock8性能优化:PHP时间操作的最佳实践与性能对比
  • console-powers实战:构建企业级调试工具的最佳实践
  • 3分钟掌握PowerToys:微软官方生产力工具箱的深度解析
  • 如何通过构建核心技术项目实现编程技能突破
  • 使用自动化脚本一般可以实现哪些任务?
  • TFFM高级特性解析:稀疏输入处理与TensorBoard可视化技巧终极指南
  • Ember Charts常见问题解答:解决图表渲染与数据绑定难题
  • MCP-Security-Checklist项目概览:为什么这是AI插件安全的必读清单
  • Dorks Eye完整用户指南:从基础搜索到高级技巧的完整教学
  • haproxy(七层代理)、python代码的读写分离
  • TaskJuggler脚本编程入门:用代码实现自动化项目管理
  • Snap源码剖析:深入理解SwiftUI手势与布局计算的实现细节
  • Data Hacking代码解析:深入理解项目核心模块与实现原理 [特殊字符]
  • 如何通过biliTickerBuy构建B站会员购抢票通知系统
  • Miui_Camera徠卡模式深度解析:经典/生动风格对比与最佳拍摄参数
  • 服务化框架(Triton, TensorRT)优化技巧(分层式精讲)
  • 终极教程:使用angular-mobile-nav实现流畅的移动页面过渡效果
  • console-powers与其他调试工具对比:何时选择什么方案
  • p项目扩展指南:如何自定义Python镜像源和安装路径
  • Amber Smalltalk:在JavaScript运行时上构建高效客户端应用的终极指南
  • 打造个性化Instagram Clone:主题定制与用户体验优化技巧
  • 未来展望:RoseTTAFold-All-Atom的发展路线图与社区支持资源汇总
  • 终极指南:如何用shadPS4在电脑上免费畅玩PS4游戏
  • KiCad库维护与更新终极指南:开发者必备的完整知识体系
  • Wan2.1-Fun-V1.1-1.3B-InP Web UI使用教程:无需代码的AI视频创作
  • BiliBiliToolPro终极指南:如何高效自动化你的B站日常任务
  • Angular移动导航插件开发:如何创建自定义导航组件
  • Typedown:Windows平台轻量级Markdown编辑器的终极指南 [特殊字符]
  • HACG扩展功能开发:如何为ACG阅读器添加新特性
  • 当传统3D渲染撞上瓶颈,高斯泼溅如何用CUDA加速打破僵局?