数据湖架构之Hudi编译篇

2023-11-17

前言

说起编译hudi,从第一遍过之后,再回过头来看,发现就是第一遍不熟悉,出现的一切问题可以总结为maven仓库没配置好。一开始我只是配置了阿里云仓库,但是后面不断报错,然后百度谷歌找原因,再调整配置,再编译,最后就成功了,所以整体来说编译不复杂,只要配置正确,那我把最后可以通过的配置贴出来,这也是我觉得可以帮助到大部分同学的地方。

版本与源码

hudi迭代还是比较快的,因为同时也依赖了hadoop和spark,为了组合使用,我使用的是0.9.0版本,对应地址:[https://hudi.apache.org/releases/release-0.9.0](https://hudi.apache.org/releases/release-
0.9.0)
源码部分可以点击download的部分,即可下载
在这里插入图片描述

环境准备

[root@zhu-91-134 target]# mvn -v
Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-18T02:33:14+08:00)
Maven home: /apps/svr/maven
Java version: 1.8.0_144, vendor: Oracle Corporation, runtime: /apps/svr/jdk1.8.0_144/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "linux", version: "3.10.5-3.el6.x86_64", arch: "amd64", family: "unix"

编译

编译过程其实就是普通maven项目,不是很复杂

mvn clean install -DskipTests -DskipITs -Dscala-2.12 -Dspark3 

前面也提到了,陆陆续续才成功,最后的结果,还是需要亮相一下:

[INFO] Hudi 0.9.0 ......................................... SUCCESS [  2.758 s]
[INFO] hudi-common ........................................ SUCCESS [ 20.652 s]
[INFO] hudi-timeline-service .............................. SUCCESS [  3.375 s]
[INFO] hudi-client ........................................ SUCCESS [  0.208 s]
[INFO] hudi-client-common ................................. SUCCESS [ 12.704 s]
[INFO] hudi-hadoop-mr ..................................... SUCCESS [  5.637 s]
[INFO] hudi-spark-client .................................. SUCCESS [ 24.567 s]
[INFO] hudi-sync-common ................................... SUCCESS [  1.197 s]
[INFO] hudi-hive-sync ..................................... SUCCESS [  6.125 s]
[INFO] hudi-spark-datasource .............................. SUCCESS [  0.107 s]
[INFO] hudi-spark-common_2.12 ............................. SUCCESS [ 13.649 s]
[INFO] hudi-spark3_2.12 ................................... SUCCESS [ 11.451 s]
[INFO] hudi-spark_2.12 .................................... SUCCESS [ 45.515 s]
[INFO] hudi-utilities_2.12 ................................ SUCCESS [ 23.751 s]
[INFO] hudi-utilities-bundle_2.12 ......................... SUCCESS [ 51.554 s]
[INFO] hudi-cli ........................................... SUCCESS [ 32.192 s]
[INFO] hudi-java-client ................................... SUCCESS [  3.458 s]
[INFO] hudi-flink-client .................................. SUCCESS [ 12.356 s]
[INFO] hudi-spark2_2.12 ................................... SUCCESS [ 17.489 s]
[INFO] hudi-dla-sync ...................................... SUCCESS [  3.055 s]
[INFO] hudi-sync .......................................... SUCCESS [  0.131 s]
[INFO] hudi-hadoop-mr-bundle .............................. SUCCESS [  6.229 s]
[INFO] hudi-hive-sync-bundle .............................. SUCCESS [  2.009 s]
[INFO] hudi-spark3-bundle_2.12 ............................ SUCCESS [ 14.460 s]
[INFO] hudi-presto-bundle ................................. SUCCESS [  9.588 s]
[INFO] hudi-timeline-server-bundle ........................ SUCCESS [  7.371 s]
[INFO] hudi-hadoop-docker ................................. SUCCESS [  0.852 s]
[INFO] hudi-hadoop-base-docker ............................ SUCCESS [01:08 min]
[INFO] hudi-hadoop-namenode-docker ........................ SUCCESS [  0.178 s]
[INFO] hudi-hadoop-datanode-docker ........................ SUCCESS [  0.124 s]
[INFO] hudi-hadoop-history-docker ......................... SUCCESS [  0.112 s]
[INFO] hudi-hadoop-hive-docker ............................ SUCCESS [  0.541 s]
[INFO] hudi-hadoop-sparkbase-docker ....................... SUCCESS [  0.121 s]
[INFO] hudi-hadoop-sparkmaster-docker ..................... SUCCESS [  0.128 s]
[INFO] hudi-hadoop-sparkworker-docker ..................... SUCCESS [  0.181 s]
[INFO] hudi-hadoop-sparkadhoc-docker ...................... SUCCESS [  0.171 s]
[INFO] hudi-hadoop-presto-docker .......................... SUCCESS [  0.231 s]
[INFO] hudi-integ-test .................................... SUCCESS [01:05 min]
[INFO] hudi-integ-test-bundle ............................. SUCCESS [02:29 min]
[INFO] hudi-examples ...................................... SUCCESS [  9.459 s]
[INFO] hudi-flink_2.12 .................................... SUCCESS [  9.703 s]
[INFO] hudi-flink-bundle_2.12 0.9.0 ....................... SUCCESS [ 24.891 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 11:02 min
[INFO] Finished at: 2022-05-04T00:53:46+08:00
[INFO] ------------------------------------------------------------------------

关键maven配置

这份配置是不断报错,找资料最后解决的,所以大家编译的时候直接把我这份配置放在settings.xml里面就可以。

 <mirrors>
 <mirror>
    <id>alimaven</id>
    <name>aliyun maven</name>
    <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
    <mirrorOf>central</mirrorOf>
</mirror>
<mirror>
    <id>aliyunmaven</id>
    <mirrorOf>*</mirrorOf>
    <name>阿里云spring插件</name>
    <url>https://maven.aliyun.com/repository/spring-plugin</url>
</mirror>
<mirror>
    <id>repo2</id>
    <name>Mirror from Maven Repo2</name>
    <url>https://repo.spring.io/plugins-release/</url>
    <mirrorOf>central</mirrorOf>
</mirror>
<mirror>
    <id>UK</id>
    <name>UK Central</name>
    <url>http://uk.maven.org/maven2</url>
    <mirrorOf>central</mirrorOf>
</mirror>
<mirror>
    <id>jboss- public-repository- group</id>
    <name>JBoss Public Repository Group</name>
    <url>http://repository.jboss.org/nexus/content/groups/public</url>
    <mirrorOf>central</mirrorOf>
</mirror>
<mirror>
    <id>CN</id>
    <name>OSChina Central</name>
    <url>http: //maven.oschina.net/content/groups/public/</url>
    <mirrorOf>central</mirrorOf>
</mirror>
<mirror>
    <id>google-maven-centralk</id>
    <name>GCS Maven Central mirror Asia Pacific</name>
    <url>https://maven-central-asia.storage-download.googleapis.com/maven2/</url>
    <mirrorOf>central</mirrorOf>
</mirror>
<mirror>
    <id>confluent</id>
    <name>confluent maven</name>
    <url>http://packages.confluent.io/maven/</url>
    <mirrorOf>confluent</mirrorOf>
</mirror>
<mirror>
    <id>jboss- public-repository-group</id>
    <name>JBoss Public Repository Group</name>
    <url>http://repository.jboss.org/nexus/content/groups/public</url>
    <mirrorOf>central</mirrorOf>
</mirror>
<mirror>
    <id>CN</id>
    <name>OSChina Central</name>
    <url>http://maven.oschina.net/content/groups/public/</url>
    <mirrorOf>central</mirrorOf>
</mirror>
<mirror>
    <id>google-maven- centralk</id>
    <name>GCS Maven Central mirror Asia Pacific</name>
    <url>https://maven-central-asia.storage-download.googleapis. com/maven2/</url>
    <mirrorOf>central</mirrorOf>
</mirror>
<mirror>
    <id>confluent</id>
    <name>confluent maven</name>
    <url>http://packages.confluent.io/maven/</url>
    <mirrorOf>confluent</mirrorOf>
</mirror>
 </mirrors>

后记

hudi编译会比其他的简单很多 ~~

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数据湖架构之Hudi编译篇 的相关文章

  • 我需要在 JFileChooser(打开模式)中显示不带扩展名的文件名。如何?

    我在打开模式下使用 JFileChooser 我需要显示不带扩展名的 文件名 字段 如何 我知道文件视图 它删除文件系统文件中的扩展名 但将所选文件中的扩展名保留在 文件名 字段中解释 http saveimg ru show image
  • JavaFX使节点覆盖父节点边框颜色

    我有一个如下所示的节点 仅使用 css 我希望标签覆盖其父边框颜色 因此标签下方的边框颜色部分变得不可见 我用来制作这个边框的CSS代码 fx border color black fx border width 3 fx border r
  • java setFullScreenWindow 在 Mac 中隐藏登录对话框

    我使用的是全屏窗口 类似于屏幕保护程序 使用这里的方法 GraphicsEnvironment getLocalGraphicsEnvironment getDefaultScreenDevice setFullScreenWindow t
  • 如何在 JPA 和 Hibernate 中将数据库生成的列值定义为只读字段?

    使用 MariaDB 10 2 可以定义日期时间的默认值 例如创建和最后修改 我应该如何将此列作为只读字段访问 因为这个值应该只在数据库的控制之下 并且不应该从代码中修改 但我想在代码中读取这个属性 这很简单 只需设置insertable
  • 用于层次结构树角色的 Spring Security / Java EE 解决方案

    我知道 Spring Security 非常适合标准角色和基于权限的授权 我不确定的是这种情况 系统中管理着 10 000 名员工 员工被组织成组织结构图 跨部门的谁向谁报告的树 其中一些员工是用户 这些用户仅被允许访问其职责范围内的员工
  • 拆分/标记化/扫描字符串并注意引号

    Java中是否有默认 简单的方法来分割字符串 但要注意引号或其他符号 例如 给定以下文本 There s a man that live next door in my neighborhood and he gets me down Ob
  • JUNIT 测试 void 方法

    我有一个充满 void 方法的 java 类 我想进行一些单元测试以获得最大的代码覆盖率 例如我有这个方法 protected static void checkifValidElements int arg1 int arg2 metho
  • 在 Java 中创建 XML 文件的最佳方法是什么?

    我们目前使用 dom4j 来创建 XML 文件 不过 我猜现在有更好的东西了 如果我们使用的是 Java 1 6 或更高版本 那么在编写 XML 文件时最好使用什么类 运行速度最快 使用简单 我不需要构建一个 DOM 然后编写整个 DOM
  • 在 java 中运行外部应用程序但不要等待它完成

    我正在用java编写一个应用程序 允许我运行其他应用程序 为此 我使用了 Process 类对象 但当我这样做时 应用程序会等待进程结束 然后再退出 有没有办法在 Java 中运行外部应用程序 但不等待它完成 public static v
  • 嵌套字段的 Comparator.comparing(...)

    假设我有一个这样的域模型 class Lecture Course course getters class Course Teacher teacher int studentSize getters class Teacher int
  • 如何从intellij项目视图中隐藏不必要的文件?

    给定一个示例 gradle 项目 其项目结构如下所示 正如你所看到的 有很多东西你实际上不需要在想法中看到 但你需要它们存在 我知道下面被忽略的文件 文件夹类型Editor File Types但这些正在影响库和项目 idea 会在各处忽略
  • C 与 C++ 中的 JNI 调用不同?

    所以我有以下使用 Java 本机接口的 C 代码 但是我想将其转换为 C 但不知道如何转换 include
  • 使用单独的线程在java中读取和写入文件

    我创建了两个线程并修改了 run 函数 以便一个线程读取一行 另一个线程将同一行写入新文件 这种情况会发生直到整个文件被复制为止 我遇到的问题是 即使我使用变量来控制线程一一执行 但线程的执行仍然不均匀 即一个线程执行多次 然后控制权转移
  • HTTP 状态 405 - 此 URL java servlet 不支持 HTTP 方法 POST [重复]

    这个问题在这里已经有答案了 我无法使页面正常工作 我有要发布的表单方法和我的 servlet 实现doPost 然而 它不断地向我表明我并不支持POST方法 我只是想做一个简单的网站并将值插入到我的 MySQL 数据库中 type Stat
  • 如何以编程方式创建 CardView

    我正在开发一个 Android 应用程序Java Android Studio 我想在活动中创建CardView以编程方式 我想将以下属性设置为CardView layout width wrap content layout row 0
  • javax.media.jai 类的公共下载?

    这是一个非常简单的问题 我一直在寻找可以下载 javax media jai 库的地方 我找到了 jai imageio 库 但是我发现的所有其他 jai 内容要么已经过时 2008 年及之前 然后我遇到了登录屏幕 是否有 javax me
  • Collections.sort(list) 和 list.sort(Comparator) 之间的区别

    有什么理由让我应该选择Collections sort list 方法而不是简单地调用list sort 内部Collections sort只是调用sort的方法List无论如何 上课 令人惊讶的是几乎每个人都告诉我使用Collectio
  • 在实现使用原始类型的接口时如何避免警告?

    我正在实施流程工厂 http help eclipse org ganymede index jsp topic org eclipse platform doc isv reference api org eclipse debug co
  • Java中单例的其他方式[重复]

    这个问题在这里已经有答案了 只是我在考虑编写单例类的其他方法 那么这个类是否被认为是单例类呢 public class MyClass static Myclass myclass static myclass new MyClass pr
  • mybatis:使用带有 XML 配置的映射器接口作为全局参数

    我喜欢使用 XML 表示法来指定全局参数 例如连接字符串 我也喜欢 Mapper 注释 当我尝试将两者结合起来时 我得到这个例外 https stackoverflow com questions 4263832 type interfac

随机推荐

  • 手机虚拟摄像头_WeCam,一款非常好用的虚拟视频及直播软件(pc)

    WeCam是一款非常好用的虚拟视频及直播软件 功能十分强大拥有所见即所得的视频场景编辑器 可以添加 合成多种类型的媒体资源 包括视频文件 图像文件 电脑摄像头以及多种流媒体 还支持手机投屏 图片 视频和音乐 轻松投放到 WeCam 专业的文
  • Ant Design Pro学习记录—ProTable的使用(一)

    目录 一 关于ProTable 二 使用步骤 1 新建页面 2 修改接口 3 接口调用 4 数据显示和检索 1 不同类型内容显示 2 列表检索 3 列表内容样式设置 5 其它 1 render的简单使用 2 图片点击预览 3 翻页 总结 前
  • RemoveAt删除的问题

    DateTime nowTime DateTime Now for int i listData Count 1 i gt 0 i 倒叙删除 因为每次删除list的下标号会改变 倒叙就不存在这个问题了 if IsBetweenTime no
  • [PyTorch]如何从PyTorch中获取过程特征图

    一 获取Tensor 神经网络在运算过程中实际上是以Tensor为格式进行计算的 我们只需稍稍改动一下forward函数即可从运算过程中抓到Tensor 代码如下 base feature self extractor forward x
  • 阿里云对象存储OSS-断点续传

    文章目录 阿里云对象存储OSS 断点续传 什么是断点续传 注意实现 代码实现 阿里云对象存储OSS 断点续传 什么是断点续传 在无线网络下 上传比较大的文件持续时间长 可能会遇到因为网络条件差 用户切换网络等原因导致上传中途失败 整个文件需
  • 蓝桥杯真题 左儿子右兄弟(图解、代码详解)

    题目描述 对于一棵多叉树 我们可以通过 左孩子右兄弟 表示法 将其转化成一棵二叉树 如果我们认为每个结点的子结点是无序的 那么得到的二叉树可能不唯一 换句话说 每个结点可以选任意子结点作为左孩子 并按任意顺序连接右兄弟 给定一棵包含N 个结
  • 基于用户历史位置的用户相似度度量

    本文并非博主原创 是由博主翻译 并删减部分类容 原文信息如下 Mining User Similarity Based on Location History Quannan Li1 2 Yu Zheng2 Xing Xie2 Yukun
  • SQL查询数据-基本查询、条件查询、投影查询、排序、分页查询

    在关系数据库中 最常用的操作就是查询 基本查询 要查询数据库表的数据 我们使用如下的SQL语句 SELECT FROM lt 表名 gt 假设表名是students 要查询students表的所有行 使用SELECT FROM studen
  • 魔方机器人设计中的问题

    1 每个面的基块有时候识别不出来 表现为某个基色块的中心点坐标为零 颜色识别为黑色 有时候能识别出来 这样的话 将识别的基色块的颜色赋值给数组就比较麻烦 问题的解决主要是调整摄像头到魔方的距离 实验采用的是Philips SPC900NC摄
  • vue中怎么使用watch同时监听data中两个数据变化

    在 Vue 中使用 watch 可以帮助我们监听一个组件的数据变化 我们可以这样监听两个数据的变化 watch data1 function newVal oldVal 监听到 data1 变化时执行的函数 data2 function n
  • 浮点数在内存中的存储

    浮点数在内存中的存储详解 我们知道 计算机内部实际上只能存储或识别二进制 在计算机中 我们日常所使用的文档 图片 数字等 在储存时 实际上都要以二进制的形式存放在内存或硬盘中 内存或硬盘就好像是一个被划分为许多小格子的容器 其中每个小格子都
  • c语言------------数组

    最大公约数 最小公倍数 include stdio h void main int m n min i max scanf d d m n min m gt n n m min m if m gt n min n for i min i g
  • WebStorm-2021.1.1下载及安装

    文章目录 一 WebStorm下载 1 WebStorm下载地址 https www jetbrains com webstorm 二 WebStorm安装 1 双击安装包 2 Next 3 选择安装路径 Next 4 选择对应的电脑位数
  • GUI (图形界面)程序原理分析

    1 命令行应用程序 命令行应用程序的特点 是一种基于顺序执行结构的可执行程序 程序执行过程中不需要与用户产生交互 程序执行后给出最终的运行结果 gcc a c b c c c 编译过程中不产生用户交互 编译结束后或者生成可执行程序或者给出错
  • Visual Studio 2010——C#状态栏控件的使用

    实验环境 Windows XP Visual Studio 2010 Ultimate 1 创建项目 文件 gt gt 新建 gt gt 项目 选中 Windows窗体应用程序 如下图所示 2 点击菜单栏的 视图 依次找到 解决方案资源管理
  • MySQL中no action和restrict的区别

    在MySQL中 如果两个表存在主外关系 则有五种引用操作 分别是 cascade no action restrict set null和set default 有很多人对no action的restrict区别搞不清楚 其实在MySQL中
  • SQL使用技巧(3.1)递归层次查询Postgresql

    专题 SQL使用技巧 实践是检验SQL函数的唯一标准 场景描述 一 递归方法 WITH RECURSIVE 1 1创建表和数据 1 2构建递归查询 二 存储过程传参递归查询 三 帆软Report配置查询界面 3 1FineReport 连接
  • 【c程序】expected identifier before numeric constant错误

    在linux开发中 出现类似error expected identifier before numeric constant错误 原因 定义的enum结构体与其它处的宏定义有冲突 举例说明 在文件a h中 define TRUE 1 在文
  • 最新openCV-Python安装教程(opencv-python版本4.4.0, Python版本: 3.9)

    本文是最新的opencv python 安装教程 以前的一键安装 pip install opencv python 在新版本上并不能使用 本文会按照4步详细的介绍 opencv python 版本 4 4 0 Python 版本 3 9
  • 数据湖架构之Hudi编译篇

    前言 说起编译hudi 从第一遍过之后 再回过头来看 发现就是第一遍不熟悉 出现的一切问题可以总结为maven仓库没配置好 一开始我只是配置了阿里云仓库 但是后面不断报错 然后百度谷歌找原因 再调整配置 再编译 最后就成功了 所以整体来说编