在使用idea或者pycharm连接hive时出现了一些错误,经过各种搜索排查,已经顺利解决。
1. 驱动版本报错解决
报错内容:
Required field 'client_protocol' is unset!
Struct:TOpenSessionReq(client_protocol:null, configuration:{use:database=default}) (state=08S01,code=0)
问题在于,idea自动下载的hive驱动版本是3.1.1和3.1.2,如果使用的hive版本较低,则报这个错误,需要找到正确版本的jar包,而这个jar包不需要在csdn花费积分购买,在hive目录下就有,具体目录是:
hive/jdbc/hive-jdbc-2.1.0-standalone.jar
- 注意:不是lib目录下的:/hive/lib/hive-jdbc-2.1.0.jar !!!
然后,将jar包导出到本地,custom_jar 添加到idea配置中,注意,错误版本的驱动需要点击减号删除:
2. 依赖hadoop文件不全报错解决
在以上配置完成后,以为可以顺利查询,但出现了以下报错:
java.lang.ClassNotFoundException: org.apache.hadoop.conf.Configuration
查询后了解是缺少hadoop相关jar包,而hadoop相关jar包都在hadoop目录下,导出即可:
hadoop/share/hadoop/common
导出后也放到idea的driver文件配置中:
顺利查询!