Hudi 诞生
-
Apache Hudi由Uber开发并开源,该项目在2016年开始开发,并于2017年开源,2019年1月进入 Apache 孵化器,且2020年6月称为Apache 顶级项目,目前最新版本:0.9.0版本。
-
Hudi 一开始支持Spark进行数据摄入(批量Batch和流式Streaming),从0.7.0版本开始,逐渐与Flink整合,主要在于Flink SQL 整合,还支持Flink SQL CDC。
发展历史
-
2015 年:发表了增量处理的核心思想/原则(O'reilly 文章)
-
2016 年:由 Uber 创建并为所有数据库/关键业务提供支持
-
2017 年:由 Uber 开源,并支撑 100PB 数据湖
-
2018 年:吸引大量使用者,并因云计算普及
-
2019 年:成为 ASF 孵化项目,并增加更多平台组件
-
2020 年:毕业成为 Apache 顶级项目,社区、下载量、采用率增长超过 10 倍
-
2021 年:支持 Uber 500PB 数据湖,SQL DML、Flink 集成、索引、元服务器、缓存。
新架构:湖仓一体
Hudi 快速体验使用
• 大数据环境准备
第一步、Maven 安装
在CentOS 7.7 版本64位操作上下载和安装Maven,直接将Maven软件包解压,然后配置系统环境变量即可。Maven版本为:3.5.4,仓库目录名称:m2。
配置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源码步骤
第三步、添加Maven镜像
第四步、执行编译命令
第五步、Hudi CLI测试
编译完成以后,进入$HUDI_HOME/hudi-cli目录,运行hudi-cli脚本,如果可以运行,说明编译成功
大数据环境准备
基本软件框架
Hudi 流式数据湖平台,协助管理数据,借助HDFS文件系统存储数据,使用Spark操作数据
安装 HDFS
step1、解压软件包
step2、配置环境变量
在Hadoop中,bin和sbin目录下的脚本、etc/hadoop下的配置文件,有很多配置项都会使用到HADOOP_*这些环境变量。如果仅仅是配置了HADOOP_HOME,这些脚本会从HADOOP_HOME下通过追加相应的目录结构来确定COMMON、HDFS和YARN的类库路径。
step3、配置hadoop-env.sh
step4、配置core-site.xml:配置Hadoop Common模块公共属性
step5、配置hdfs-site.xml,配置HDFS分布式文件系统相关属性
step6、配置slaves
step7、格式化HDFS
step8、启动HDFS集群
查看HDFS WEB UI,地址为:http://node1.itcast.cn:50070/
总结
国内很多大公司,都在使用Hudi,构建数据湖,并且与大数据仓库整合,搭建湖仓一体化平台
Hudi学习资料:
基于0.9.0版本,从数据湖概念,到集成Spark和Flink,最后整合实际需求案例,由0到1深入浅出剖析Hudi使用
黑马程序员大数据数据湖架构Hudi视频教程,从Apache Hudi基础到项目实战(涵盖HDFS+Spark+Flink+Hive等知识点结合)https://www.bilibili.com/video/BV1sb4y1n7hK/?spm_id_from=333.999.0.0&vd_source=02b3b35523aa39a49b4ddb14fb332acc