揭秘数据湖——长文详解Hudi从内核到实战(一)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了揭秘数据湖——长文详解Hudi从内核到实战(一)相关的知识,希望对你有一定的参考价值。

参考技术A

Hudi入门与构建

Hudi介绍

Hudi将带来流式处理大数据,提供新数据集,同时比传统批处理效率高一个数据量级。

Hudi快速构建

把apache-maven-3.6.1-bin.tar.gz上传到linux的/opt/software目录下。

解压apache-maven-3.6.1-bin.tar.gz到/opt/module/目录下面。

修改apache-maven-3.6.1的名称为maven。

添加环境变量到/etc/profile中。

测试安装结果。

修改setting.xml,指定为阿里云。

通过Spark-shell快速开始

spark-shell启动,需要指定spark-avro模块,因为默认环境里没有,spark-avro模块版本好需要和spark版本对应,这里都是2.4.5。

设置表名,基本路径和数据生成器。

新增数据,生成一些数据,将其加载到DataFrame中,然后将DataFrame写入Hudi表。

Mode(overwrite)将覆盖重新创建表(如果已存在)。可以检查/tmp/hudi_trps_cow路径下是否有数据生成。

由于测试数据分区是 区域/国家/城市,所以load(basePath “/*/*/*/*”)。

类似于插入新数据,使用数据生成器生成新数据对 历史 数据进行更新。将数据加载到DataFrame中并将DataFrame写入Hudi表中。

Hudi还提供了获取自给定提交时间戳以来以更改记录流的功能。这可以通过使用Hudi的增量查询并提供开始流进行更改的开始时间来实现。

这将提供在beginTime提交后的数据,并且fare>20的数据。

根据特定时间查询,可以将endTime指向特定时间,beginTime指向000(表示最早提交时间)。

只有append模式,才支持删除功能。

大数据技术生态体系

大数据的切片机制有哪些

大数据之Kafka集群部署

大数据JUC面试题

大数据学习之部署Hadoop

Flink 实战系列Flink CDC 实时同步 Mysql 全量加增量数据到 Hudi

【Flink 实战系列】Flink CDC 实时同步 Mysql 全量加增量数据到 Hudi

前言

Flink CDC 是基于 Flink 开发的变化数据获取组件(Change data capture),简单的说就是来捕获变更的数据,Apache Hudi 是一个数据湖平台,又支持对数据做增删改查操作,所以 Flink CDC 可以很好的和 Hudi 结合起来,打造实时数仓,实时湖仓一体的架构,下面就来演示一下同步的过程。

环境

组件 版本
Flink 1.15.1
Hadoop 2.9.0
Hudi 0.12.0
Mysql 5.x
Flink CDC 2.3.0

添加 Jar 包依赖

为了方便演示,这里就直接采用 sql-client 提交任务的方式,在提交任务之前,需要先添加几个必要的 Jar 包。

flink-sql-connector-mysql-cdc-2.3.0.jar
hudi-flink1.15-bundle-0.12.0.jar
mysql-connector-java-5.1.47.jar

把这三个 Jar 包添加到 flink/lib 下面。

以上是关于揭秘数据湖——长文详解Hudi从内核到实战(一)的主要内容,如果未能解决你的问题,请参考以下文章

Flink 实战系列Flink CDC 实时同步 Mysql 全量加增量数据到 Hudi

Flink 实战系列Flink CDC 实时同步 Mysql 全量加增量数据到 Hudi

“数据湖三剑客”Hudi、Delta Lake和Iceberg 深度对比

Hudi核心知识点详解——快速入门数据湖

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

数据湖架构HudiHudi集成Flink案例详解