Zeppelin结合Flink查询hudi数据

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
简介: 本文结合如何通过zeppelin结合flink查询hudi中的数据。

关于Zeppelin


Zeppelin是基于 Web 的notebook,是支持使用 SQL、Scala、Python、R 等进行数据驱动的交互式数据分析和协作的Notebook。

Zeppelin支持多种语言后端,Apache Zeppelin 解释器允许将任何语言/数据处理后端插入 Zeppelin。 目前 Apache Zeppelin 支持 Apache Spark、Apache Flink、Python、R、JDBC、Markdown 和 Shell 等多种解释器。

简单来说就是,让你通过Web UI去实现很多本来需要登录服务器,通过终端才能实现的功能。

(关于Flink和Hudi介绍,可参考本博主其他文章,或 search by yourself)

下面今日正题。

本文涉及组件及其版本

组件名称 版本号
hadoop 3.2.0
hudi 0.10.0-SNAPSHOT
zeppelin 0.10.0
flink 1.13.1

在执行以下操作之前,请先将数据导入hudi,如果还未导入,可参考:

使用FLINK SQL从savepoint恢复hudi作业 (flink 1.13)

相关博客文章将数据导入hudi

zeppelin安装包下载

mkdir /data && cd /data
wget https://dlcdn.apache.org/zeppelin/zeppelin-0.10.0/zeppelin-0.10.0-bin-all.tgz

tar zxvf zeppelin-0.10.0-bin-all.tgz
ln -s /data/zeppelin-0.10.0-bin-all /data/zeppelin
AI 代码解读

zeppelin配置文件修改

cd /data/zeppelin/conf
cp zeppelin-site.xml.template zeppelin-site.xml
AI 代码解读

将zeppelin.server.addr配置项修改为0.0.0.0

zeppelin默认端口使用8080,如果和你本地端口冲突可将其改为别的端口,本文档将端口修改为8008,也就是将zeppelin.server.port配置项修改为8008

cp zeppelin-env.sh.template zeppelin-env.sh
AI 代码解读

填入以下变量:

export JAVA_HOME=/data/jdk
export HADOOP_CONF_DIR=/data/hadoop/etc/hadoop
export FLINK_HOME=/data/flink
AI 代码解读

各变量请根据自己环境进行设置。

本文后续使用默认的local模式启动Flink。

启动zeppelin

bin/zeppelin-daemon.sh start
AI 代码解读

此时如果你们没有创建logs文件夹以及run文件夹,那么会在zeppelin目录下自动创建,如下所示:

[root@hadoop zeppelin]# bin/zeppelin-daemon.sh start
Log dir doesn't exist, create /data/zeppelin/logs
Pid dir doesn't exist, create /data/zeppelin/run
Zeppelin start                                             [  OK  ]
AI 代码解读

此时浏览器输入zeppelin服务器ip:8008或者hostname:8008即可进入如下页面:

基本使用

点击Notebook,点击Create new note,填写文本名称以及选定flink interpreter,如下所示:

新建完之后进入如下页面:

根据前面说到的,我们已经通过文章

使用FLINK SQL从savepoint恢复hudi作业(flink 1.13)

所述将数据导入hudi,那么此时我们就可以进行查询:

我们选择

%flink.ssql
AI 代码解读

首先定义hudi表:

 create table stu8_binlog_sink_hudi(
  id bigint not null,
  name string,
  `school` string,
  nickname string,
  age int not null,
  score decimal(4,2) not null,
  class_num int not null,
  phone bigint not null,
  email string,
  ip string,
  primary key (id) not enforced
)
 partitioned by (`school`)
 with (
  'connector' = 'hudi',
  'path' = 'hdfs://hadoop:9000/tmp/test_stu8_binlog_sink_hudi',
  'table.type' = 'MERGE_ON_READ',
  'write.precombine.field' = 'school'
  );
AI 代码解读

对hudi表进行统计:

select * from stu8_binlog_sink_hudi;
AI 代码解读

得到如下结果:

接着进行order by查询

select * from stu8_binlog_sink_hudi order by age desc limit 100;
AI 代码解读

总结

本文基于给定hudi数据,使用zeppelin结合flink引擎对其进行查询统计。但是呢,我们之前在Flink SQL Client里面能做的其实,在zeppelin里面都能做,我们完全可以用其替换之前文章所述的Flink SQL Client。

了解更多

本文关于hudi的实践是hudi专题中的一个例子,更多内容请参考如下:

https://lrting.top/special/hudi/

hudi-1

hudi-2

相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
Linux入门到精通
本套课程是从入门开始的Linux学习课程,适合初学者阅读。由浅入深案例丰富,通俗易懂。主要涉及基础的系统操作以及工作中常用的各种服务软件的应用、部署和优化。即使是零基础的学员,只要能够坚持把所有章节都学完,也一定会受益匪浅。
目录
打赏
0
0
0
0
16
分享
相关文章
基于 Flink 的中国电信星海时空数据多引擎实时改造
本文整理自中国电信集团大数据架构师李新虎老师在Flink Forward Asia 2024的分享,围绕星海时空智能系统展开,涵盖四个核心部分:时空数据现状、实时场景多引擎化、典型应用及未来展望。系统日处理8000亿条数据,具备亚米级定位能力,通过Flink多引擎架构解决数据膨胀与响应时效等问题,优化资源利用并提升计算效率。应用场景包括运动状态识别、个体行为分析和群智感知,未来将推进湖仓一体改造与三维时空服务体系建设,助力数字化转型与智慧城市建设。
457 3
基于 Flink 的中国电信星海时空数据多引擎实时改造
【YashanDB知识库】Flink CDC实时同步Oracle数据到崖山
本文介绍通过Flink CDC实现Oracle数据实时同步至崖山数据库(YashanDB)的方法,支持全量与增量同步,并涵盖新增、修改和删除的DML操作。内容包括环境准备(如JDK、Flink版本等)、Oracle日志归档启用、用户权限配置、增量日志记录设置、元数据迁移、Flink安装与配置、生成Flink SQL文件、Streampark部署,以及创建和启动实时同步任务的具体步骤。适合需要跨数据库实时同步方案的技术人员参考。
【YashanDB知识库】Flink CDC实时同步Oracle数据到崖山
SpringBoot 通过集成 Flink CDC 来实时追踪 MySql 数据变动
通过详细的步骤和示例代码,您可以在 SpringBoot 项目中成功集成 Flink CDC,并实时追踪 MySQL 数据库的变动。
1111 43
flink 向doris 数据库写入数据时出现背压如何排查?
本文介绍了如何确定和解决Flink任务向Doris数据库写入数据时遇到的背压问题。首先通过Flink Web UI和性能指标监控识别背压,然后从Doris数据库性能、网络连接稳定性、Flink任务数据处理逻辑及资源配置等方面排查原因,并通过分析相关日志进一步定位问题。
567 61
数据实时计算产品对比测评报告:阿里云实时计算Flink版
数据实时计算产品对比测评报告:阿里云实时计算Flink版
大数据-148 Apache Kudu 从 Flink 下沉数据到 Kudu
大数据-148 Apache Kudu 从 Flink 下沉数据到 Kudu
188 1
顺丰科技 Hudi on Flink 实时数仓实践
介绍了顺丰科技数仓的架构,趟过的一些问题、使用 Hudi 来优化整个 job 状态的实践细节,以及未来的一些规划。
顺丰科技 Hudi on Flink 实时数仓实践
阿里云实时计算Flink版测评报告
该测评报告详细介绍了阿里云实时计算Flink版在用户行为分析与标签画像中的应用实践,展示了其毫秒级的数据处理能力和高效的开发流程。报告还全面评测了该服务在稳定性、性能、开发运维及安全性方面的卓越表现,并对比自建Flink集群的优势。最后,报告评估了其成本效益,强调了其灵活扩展性和高投资回报率,适合各类实时数据处理需求。
实时计算 Flash – 兼容 Flink 的新一代向量化流计算引擎
本文介绍了阿里云开源大数据团队在实时计算领域的最新成果——向量化流计算引擎Flash。文章主要内容包括:Apache Flink 成为业界流计算标准、Flash 核心技术解读、性能测试数据以及在阿里巴巴集团的落地效果。Flash 是一款完全兼容 Apache Flink 的新一代流计算引擎,通过向量化技术和 C++ 实现,大幅提升了性能和成本效益。
2799 73
实时计算 Flash – 兼容 Flink 的新一代向量化流计算引擎

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问