问题记录清单
1.使用StreamExecutionEnvironment创建StreamTableEnvironment写hive报错
1.使用StreamExecutionEnvironment创建StreamTableEnvironment写hive报错
问题描述:job在flink web界面中状态一直显示为restarting,检查job的exception报错如下图所示:
Cannot load user class:
org.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumer
网上没有搜到相关问题,实际上代码中并未使用到FlinkKafkaConsumer,而且flink-connector-kafka_2.11.jar已经在工程依赖中,flink集群的lib中也有该jar包。
因为代码最初是直接使用TableEnvironment实现读取kafka写入hive的,分析认为报错代码与flink的StreamExecutionEnvironment创建StreamTableEnvironment有关。报错代码如下:
原因未知,猜测与stream api和table api体系的冲突导致的。
解决办法:将checkpoint的相关设置放在StreamExecutionEnvironment中,而不是StreamTableEnvironment的config中,变更后代码如下:
2.在IDE中无法写入hive
问题描述:相同代码打包后从flink web中上传提交是可以正常写入hive的,但是在ide中直接运行无法写入hive。
原因:flink写入hive依赖于hadoop环境,IDE中运行缺少hadoop环