flink-sql中hive-join碰到的问题_flinksql_join_hive表报filesystem_param_is_null.md
title: flink-sql中hive-join碰到的问题
date: 2021-12-22 23:41:20
tags: [flink,sql,hive,join]
categories: flink
今天说一下最近碰到的一个flink sql temporal join hive表的问题,看看大家有没有碰到过,如果还在困惑中,或许你可以在本文中找到答案。
基本环境
我用的是flink version 1.12.3,hive是1.2.0,hbase是1.0。
好了基本环境介绍完了,流程是这样的:
mysql join hive, insert into hbase
1
我们用到了2个connector,1个是mysql-cdc connector,另一个是hbase connector。
hive作为一个维表,去关联得到相应的结果。
mysql 200条数据,hive 900万数据(大概5G大小),根据mysql的主键作为hbase的rowkey,写入hbase。
启动
启动flink sql任务,我们设置jm 1core 2048m内存,tm 3core 16932m内存足以加载整个hive表了。
启动后报错,报错位置在读完mysql的2000条数据之后,然后加载hive表数据时,读了1分半,出现了zookeeper session timed out,于是task failover了,造成TaskManager不停重启,任务失败。
我们刚开始在分析的时候,也是怀疑hbase连接zookeeper session的timeout设置时间是不是太短了,造成超时。
准备调整zookeeper.session.timeout时间到更大的数值(现在hbase-site.xml中设置的值是90s),后来发现日志中有一句:
lookup join cache
1
找到对应的flink源码,发现是加载hive的数据到flink,好了,知道原因了,加载hive过程中,zookeeper的session超时了,导致task failover。
那么就要想办法延长timeout时间,或者减少hive维表数据量了。
ok,今天就到这里,分享给大家困扰我好几天的问题。
Keep reading, Keep writing, Keep coding.
欢迎关注我的微信公众号,比较喜欢分享知识,也喜欢宠物,所以做了这2个公众号:
喜欢宠物的朋友可以关注:【电巴克宠物Pets】
一起学习,一起进步。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)