从0到1搭建数据湖Hudi环境

一、目标

        前面一篇博文中已经详细讲解过数据湖Hudi相关的一些基本概念,想学习下的,可以去看下。数据湖基本概念--什么是数据湖,数据湖又能干什么?为什么是Hudi_一个数据小开发的博客-优快云博客

        在本地构建可以跑Flink-Hudi、Spark-Hudi等demo的环境,本地环境是arm64架构的M1芯片,所以比较特殊,如果采用Hudi官网的docker搭建,目前不支持,本人也在Hudi的github上提过此类需求,虽得到了响应,但还是在部署的时候会出问题,然后基于其实Hudi就是一种对存储格式的管理模式,此格式可以是HDFS,也可以是各大云厂商的文件存储系统,例如阿里云的OSS,华为云的OBS等,都是可以支持的,所以本地只需要部署一套Hadoop架构就可以跑起来相关的案例。

二、搭建详情

需要搭建的组件列表:

组件名 版本号 描述备注
Flink 1.14.3

Apache Flink官网就可以下载到,下载的时候,

需要看清楚下载跟本地scala版本一致的flink版本

Spark 2.4.4 Apache Spark官网就可以下载到
JDK 1.8 Oracle官网就可以下载到
Scala 2.11.8 Scala官网可以下载到
maven  3.8.4 到官网下载即可
Hadoop 3.3.1

这里比较特殊,需要特殊说明下,如果本地电脑是arm64架构的,需要去下载arm64架构的

hadoop版本,如果是x86的就去下载x86的

arm64下载地址:

https://archive.apache.org/dist/hadoop/common/hadoop-3.3.1/hadoop-3.3.1-aarch64.tar.gzicon-default.png?t=O83Ahttps://archive.apache.org/dist/hadoop/common/hadoop-3.3.1/hadoop-3.3.1-aarch64.tar.gz

x86下载地址:

https://archive.apache.org/dist/hadoop/common/hadoop-3.3.1/hadoop-3.3.1-src.tar.gzicon-default.png?t=O83Ahttps://archive.apache.org/dist/hadoop/common/hadoop-3.3.1/hadoop-3.3.1-src.tar.gz

Hudi 0.10.1 自己git clone到本地的idea就行,后续编译需要
MySQL 5.7
<think>好的,用户想查找关于Apache Hudi数据湖的使用教程。首先,我需要整理现有的引用资料,看看有没有相关的资源。引用[1]提到了Hudi的实战操作,包括与SparkFlink的整合,这可能是一个有用的教程。引用[2]则直接提到了尚硅谷的数据湖Hudi视频教程,并且提供了B站和网盘链接,这应该是用户需要的主要资源。引用[3]讨论了Hudi的编译过程,虽然不是直接的使用教程,但可能对用户的环境搭建有帮助。 接下来,我需要将这些信息结构化,确保符合用户的要求。用户需要教程,所以应该优先推荐视频教程,比如引用[2]中的尚硅谷课程,同时补充实战操作指南和编译安装的步骤。此外,用户可能还需要了解Hudi的基本概念和应用场景,所以应该分步骤介绍,包括概述、环境准备、核心操作和进阶内容。 要注意使用中文回答,并且按照系统级指令中的格式要求,数学表达式用$...$,独立公式用$$...$$,但在这个问题中可能用不到数学公式,所以可能需要忽略这部分。不过需要检查是否有变量或技术术语需要特别标注,比如Hudi的版本号或组件名称。 另外,用户要求生成相关问题,需要根据回答内容提出三个相关的问题,例如关于环境配置、核心功能对比或与Flink整合的问题。同时,引用标识要自然地添加在引用的段落末尾,比如尚硅谷的教程在引用[2],实战操作在引用[1]等。 最后,确保回答结构清晰,分步骤说明,涵盖用户可能需要的各个方面,从入门教程到实战操作,再到进阶学习资源。需要验证提供的链接是否有效,但用户给出的链接可能需要用户自行访问,所以只需按引用标注即可。</think>关于Apache Hudi数据湖的使用教程,以下是分步骤的详细指南和相关资源推荐: ### 一、基础环境准备 1. **源码编译(必选步骤)** Hudi需要根据具体环境(如Spark/Flink版本)进行定制化编译。从GitHub下载源码后执行: ```bash mvn clean package -DskipTests -Dscala-2.12 -Dspark3 ``` 编译参数需匹配本地环境(如Scala 2.12与Spark 3.x)[^3]。 2. **依赖组件安装** - Hadoop集群(HDFS/YARN) - SparkFlink计算引擎 - 对象存储(如AWS S3/Azure Data Lake) ### 二、核心操作实战 1. **数据写入与更新** 使用Spark写入Hudi表,示例代码: ```scala val hudiOptions = Map( "hoodie.table.name" -> "hudi_table", "hoodie.datasource.write.operation" -> "upsert", "hoodie.datasource.write.recordkey.field" -> "id" ) df.write.format("hudi").options(hudiOptions).mode("overwrite").save("/hudi/output") ``` 支持`upsert`/`insert`/`bulk_insert`模式[^1]。 2. **Flink CDC实时同步** 通过Flink SQL实现MySQL到Hudi的实时同步: ```sql CREATE TABLE hudi_sink( id INT PRIMARY KEY, name STRING ) WITH ( 'connector' = 'hudi', 'path' = 'hdfs:///hudi/flink_cdc' ); ``` ### 三、教程资源推荐 1. **视频教程(新手首选)** - 尚硅谷《大数据新风口:Hudi数据湖》B站教程(含环境配置+实战案例)[^2] - 内容涵盖:Hudi架构、COW/MOR表类型对比、时间旅行查询 2. **文档资料** - 官方文档:https://hudi.apache.org/docs/next/quick-start-guide - 进阶特性:增量查询(`hoodie.read.incr`)、Clustering优化 3. **场景化案例** - 实时数仓构建:结合Kafka+Flink+Hudi实现分钟级延迟 - 数据湖分析:使用Presto/Trino查询Hudi
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值