失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > DataGrip 连接 Hive 1.1

DataGrip 连接 Hive 1.1

时间:2024-01-30 04:07:26

相关推荐

DataGrip 连接 Hive 1.1

DataGrip 连接 Hive 1.1

环境介绍

MacBook M1 + DataGrip + Hive 1.1

直接连接,报错,原因为hive-jdbc的版本太高

[ 08S01] Could not open client transport with JDBC Uri: jdbc:hive2://10.20.147.31:10000/default: Could not establishconnection to jdbc:hive2://10.20.147.31:10000/default: Required field 'client_protocol' is unset! Struct:TOpenSessionReq(client_protocol:null, configuration:{set:hiveconf:hive.server2.thrift.resultset.default.fetch.size=1000, use:database=default}) org..apache.thrift.TApplicationException: Required field 'client_protocol' is unset! Struct:TOpenSessionReq(client_protocol:null, configuration:{set:hiveconf:hive.server2.thrift.resultset.default.fetch.size=1000, use:database=default}).

点击Driver:Apaache Hive查看hive-jdbc的版本

版本为 3.1 ,明显版本过高,我们需要使用1.1.0但是DataGrip没有提供,我们需要手动加jar

手动添加Hive 1.1jar

① 在该路径下可以看到 DataGrip 使用的jar包,我们参考这个,在同级目录创建Hive1.1目录,然后将手动加的jar包 放到该目录下

# 找到你当前的 DataGrip 安装目录,这里放了所有的连接驱动[kylewhite@kyledeMacBook-Pro Hive] % cd ~/Library/Application\ Support/JetBrains/DataGrip.1/jdbc-drivers/Hive/# 创建 Hive 1.1[kylewhite@kyledeMacBook-Pro Hive] % mkdir 1.1.0

② 为了不用这么麻烦下载这些jar包,我们通过Maven下载,引用如下依赖,然后到本地仓库找到对应的jar包并复制到创建的目录下

<dependency><groupId>org.apache.hive</groupId><artifactId>hive-jdbc</artifactId><version>1.1.0</version></dependency><dependency><groupId>org.apache.hadoop</groupId><artifactId>hadoop-common</artifactId><version>2.6.0</version></dependency>

③ 需要用到的jar

hive-common-1.1.0.jar hive-serde-1.1.0.jar httpclient-4.5.8-sources.jar jcl-over-slf4j-1.7.25.jarhadoop-auth-2.6.0.jar hive-jdbc-1.1.0.jar hive-service-1.1.0.jarhttpclient-4.5.8.jar libthrift-0.9.2.jarhadoop-common-2.6.0.jar hive-metastore-1.1.0.jar hive-shims-1.1.0.jar httpcore-4.4.11.jar slf4j-api-1.7.5.jarguava-25.0-jre.jar

④ 更换DataGriphive-jdbc

如果还有问题,就把3.1.2 移除,重新测试

如果觉得《DataGrip 连接 Hive 1.1》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。