首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

大数据Hadoop之——Apache Hudi 数据湖实战操作(Spark,Flink与Hudi整合)

一、概述

,简称,是一个流式数据湖平台,支持对海量数据快速更新,内置表格式,支持事务的存储层、 一系列表服务、数据服务(开箱即用的摄取工具)以及完善的运维监控工具,它可以以极低的延迟将数据快速存储到HDFS或云存储(S3)的工具,最主要的特点支持记录级别的插入更新(Upsert)和删除,同时还支持增量查询。

GitHub地址:https://github.com/apache/hudi

官方文档:https://hudi.apache.org/cn/docs/overview

二、Hudi CLI

构建hudi后,可以通过cd hudi cli&&启动shell。一个hudi表驻留在DFS上的一个称为basePath的位置,我们需要这个位置才能连接到hudi表。Hudi库有效地在内部管理此表,使用.hoodie子文件夹跟踪所有元数据。

编译生成的包如下:

三、Spark 与 Hudi 整合使用

Hudi 流式数据湖平台,协助管理数据,借助HDFS文件系统存储数据,使用Spark操作数据。

1)Spark 测试

2)Spark 与 Hudi 整合使用

官方示例:https://hudi.apache.org/docs/quick-start-guide/

在spark-shell命令行,对Hudi表数据进行操作,需要运行spark-shell命令是,添加相关的依赖包,命令如下:

1、启动spark-shell

【第一种方式】在线联网下载相关jar包

【第二种方式】离线使用已经下载好的jar包

2、导入park及Hudi相关包

3、定义变量

4、模拟生成Trip乘车数据

其中,DataGenerator可以用于生成测试数据,用来完成后续操作。

5、将模拟数据List转换为DataFrame数据集

6、将数据写入到hudi

本地存储

HDFS 存储

四、Flink 与 Hudi 整合使用

官方示例:https://hudi.apache.org/docs/flink-quick-start-guide

1)启动flink集群

2) 启动flink SQL 客户端

3)添加数据

HDFS上查看

4)查询数据(批式查询)

5)更新数据

6)Streaming Query(流式查询)

首先创建表t2,设置相关属性,以流的方式查询读取,映射到上面表:t1

设置为true,表明通过streaming的方式读取表数据;

指定了source监控新的commits的间隔时间4s

设置表类型为 MERGE_ON_READ

注意:查看可能会遇到如下错误:

【解决】添加和到Flink lib中。

Hive 与 Hudi的整合,小伙伴可以先看官网文档:https://hudi.apache.org/docs/syncing_metastore/#flink-setup

Spark 和 Hudi整合,Flink 与 Hudi整合先到这里了,还有很多其它大数据组件与Hudi的整合示例讲解会放在后面文章讲解,请小伙伴耐心等待,有任何疑问欢迎留言,会持续更新【大数据+云原生】相关的文章~

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230226A001GN00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券