Flink-1.13集成hudi-0.10.0

33 篇文章 1 订阅
6 篇文章 0 订阅

把hudi的 hudi-flink-bundle_2.12-0.10.0.jar放到 flink的lib下即可从flink-sql客户端读写hudi表。

下面是完全参考hudi官网的示例

 一、下载安装flink本地集群,并将hudi的 hudi-flink-bundle_2.12-0.10.0.jar放到 flink的lib下。

1.解压

  • tar -zxvf flink-1.13.3-bin-scala_2.12.tgz
  • mv flink-1.13.3-bin-scala_2.12 flink

2.配置环境变量

  • vi ~/.bash_profile
    • export FLINK_HOME=/home/hadoop/flink
    • export PATH=$FLINK_HOME/bin:$PATH
  • export HADOOP_CLASSPATH=`hadoop classpath`
  • source ~/.bash_profile

3.修改conf/flink-conf.yaml

  • jobmanager.rpc.address: stress102
  • jobmanager.rpc.port: 6123
  • jobmanager.memory.process.size: 2048m
  • taskmanager.memory.process.size: 8192m
  • taskmanager.memory.task.off-heap.size: 128m
  • taskmanager.numberOfTaskSlots: 32
  • parallelism.default: 12

4.修改conf/workers增加4行数的localhost(会启动4个TaskManagerRunner)

  • localhost
  • localhost
  • localhost
  • localhost

5.启动集群

  • export HADOOP_CLASSPATH=`$HADOOP_HOME/bin/hadoop classpath`
  • .bin/start-cluster.sh

启动集群之后会看到本地启动了4个和1个StandaloneSessionClusterEntrypoint

任务查看默认是在http://localhost:8081

如果8081端口没有启动要lsof -i:8081查看下是不是和其他程序冲突了,如果冲突了可以修改flink-conf.yaml的rest.port换一个端口。

https://blog.csdn.net/shy_snow/article/details/122681115

二、操作示例

1.启动flinkSql客户端 

export HADOOP_CLASSPATH=`$HADOOP_HOME/bin/hadoop classpath`

bin/sql-client.sh embedded -j ./lib/hudi-flink-bundle_2.12-0.10.0.jar

2.设格式和checkpointing

设置表格显示格式

  • set sql-client.execution.result-mode=tableau;

要设置checkpointing否则可能hudi无法写入

  • set execution.checkpointing.interval = 300s;

 3.创建hudi表 

 CREATE TABLE hudi_users
(
    id BIGINT PRIMARY KEY NOT ENFORCED,
    name STRING,
    birthday TIMESTAMP(3),
    ts TIMESTAMP(3)
)  WITH (
    'connector' = 'hudi',
    'table.type' = 'MERGE_ON_READ',
    'path' = 'hdfs://192.168.129.102:8020/hudi/hudi_users',
    'read.streaming.enabled' = 'true',
    'read.streaming.check-interval' = '3' ,
    'is_generic' = 'false'
 );

4.flinksql插入数据

insert into hudi_users values (10000000000,'DannyName',now(),now()) ;

该语句会提交一个任务到机器上执行

5.flinksql查询数据

select * from hudi_users;

如果hudi表的path上创建过不同格式的表,谨慎确认表数据可以删除之后,在创建之前从hadoop上删除掉hadoop fs -rm -r hdfs://192.168.129.102:8020/hudi/hudi_users,然后drop table hudi_user之后重新创建表。

参考: https://hudi.apache.org/docs/flink-quick-start-guide/  

YARN | Apache Flink

Overview | Apache Flink

flink集成hudi - 简书

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
随着互联网的发展,数据的不断膨胀,从刚开始的关系型数据库到非关系型数据库,再到大数据技术,技术的不断演进最终是随着数据膨胀而不断改变,最初的数据仓库能解决我们的问题,但是随着时代发展,企业已经不满足于数据仓库,希望有更强大的技术来支撑数据的存储,包括结构化,非结构化的数据等,希望能够积累企业的数据,从中挖掘出更大的价值。基于这个背景,数据湖的技术应运而生。本课程基于真实的企业数据湖案例进行讲解,结合业务实现数据湖平台,让大家在实践中理解和掌握数据湖技术,未来数据湖的需求也会不断加大,希望同学们抓住这个机遇。项目中将以热门的互联网电商业务场景为案例讲解,具体分析指标包含:流量分析,订单分析,用户行为分析,营销分析,广告分析等,能承载海量数据的实时分析,数据分析涵盖全端(PC、移动、小程序)应用。Apache Hudi代表Hadoop Upserts anD Incrementals,管理大型分析数据集在HDFS上的存储。Hudi的主要目的是高效减少摄取过程中的数据延迟。Hudi的出现解决了现有hadoop体系的几个问题:1、HDFS的可伸缩性限制 2、需要在Hadoop中更快地呈现数据 3、没有直接支持对现有数据的更新和删除 4、快速的ETL和建模 5、要检索所有更新的记录,无论这些更新是添加到最近日期分区的新记录还是对旧数据的更新,Hudi都允许用户使用最后一个检查点时间戳,此过程不用执行扫描整个源表的查询。 本课程包含的技术: 开发工具为:IDEA、WebStorm Flink1.9.0、HudiClickHouseHadoop2.7.5 Hbase2.2.6Kafka2.1.0 Hive2.2.0HDFS、MapReduceSpark、ZookeeperBinlog、Canal、MySQLSpringBoot2.0.2.RELEASE SpringCloud Finchley.RELEASEVue.js、Nodejs、HighchartsLinux Shell编程课程亮点: 1.与企业接轨、真实工业界产品 2.ClickHouse高性能列式存储数据库 3.大数据热门技术Flink4.Flink join 实战 5.Hudi数据湖技术6.集成指标明细查询 7.主流微服务后端系统 8.数据库实时同步解决方案 9.涵盖主流前端技术VUE+jQuery+Ajax+NodeJS 10.集成SpringCloud实现统一整合方案 11.互联网大数据企业热门技术栈 12.支持海量数据的实时分析 13.支持全端实时数据分析 14.全程代码实操,提供全部代码和资料 15.提供答疑和提供企业技术方案咨询企业一线架构师讲授,代码在老师的指导下企业可以复用,提供企业解决方案。  版权归作者所有,盗版将进行法律维权。  

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值