我使用的环境是HDP3.0.1的沙盒,flink是最新版本的1.11.1,从官网直接下载的编译好的jar包。我想测试flink与hive的集成,包括查询hive表的数据、写入数据到hive表等操作。目前我遇到问题就是通过flink sql client查询不出表数据,并且也不报错。但是该表在hive中查询是有记录的。其余的show tables,show database等语句都可以正常显示。
配置的hadoop环境变量如下: export HADOOP_CONF_DIR="/etc/hadoop/conf" export HADOOP_HOME="/usr/hdp/3.0.1.0-187/hadoop" export HADOOP_CLASSPATH="/usr/hdp/current/hadoop-client/:/usr/hdp/current/hadoop-client/lib/:/usr/hdp/current/hadoop-hdfs-client/:/usr/hdp/current/hadoop-hdfs-client/lib/:/usr/hdp/current/hadoop-yarn-client/:/usr/hdp/current/hadoop-yarn-client/lib/:/usr/hdp/current/hadoop-mapreduce-client/:/usr/hdp/current/hadoop-mapreduce-client/lib/"
sql-client配置文件如下: tables: [] functions: [] catalogs: - name: myhive type: hive hive-conf-dir: /opt/hive-conf execution: planner: blink type: batch result-mode: table max-table-result-rows: 1000000 parallelism: 3 max-parallelism: 128 min-idle-state-retention: 0 max-idle-state-retention: 0 current-catalog: myhive current-database: default restart-strategy: type: fallback deployment: response-timeout: 5000 gateway-address: "" gateway-port: 0
*来自志愿者整理的flink邮件归档
我已经找到问题的原因了,是因为HDP3.0.1中的Hive3.1.0默认开启了事务,而Flink 1.11.0写入和读取hive表应该是暂时不支持事务的。所以两者不兼容。我把Hive中事务相关的设置都关闭之后就正常了。*来自志愿者整理的flink
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。