Hive Apache配置单元客户端抛出NoSuchFieldError:配置单元\u CLI\u服务\u协议\u V8
我需要连接Hive2并从中检索信息。我在POM中使用apache HiveServer2客户端连接到配置单元:Hive Apache配置单元客户端抛出NoSuchFieldError:配置单元\u CLI\u服务\u协议\u V8,hive,apache-hive,Hive,Apache Hive,我需要连接Hive2并从中检索信息。我在POM中使用apache HiveServer2客户端连接到配置单元: <dependency> <groupId>org.apache.hive</groupId> <artifactId>hive-jdbc</artifactId> <version>1.2.1</version> </dependency> 但是当运行这个应用程序
<dependency>
<groupId>org.apache.hive</groupId>
<artifactId>hive-jdbc</artifactId>
<version>1.2.1</version>
</dependency>
但是当运行这个应用程序时,我得到了这样一个错误:
Exception in thread "main" java.lang.NoSuchFieldError: HIVE_CLI_SERVICE_PROTOCOL_V8
at org.apache.hive.jdbc.HiveConnection.<init>(HiveConnection.java:189)
at org.apache.hive.jdbc.HiveDriver.connect(HiveDriver.java:105)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:270)
at org.springframework.samples.hadoop.hive.HiveJdbcClient.main(HiveJdbcClient.java:23)
线程“main”java.lang.NoSuchFieldError中出现异常:配置单元\客户端\服务\协议\ V8
位于org.apache.hive.jdbc.HiveConnection(HiveConnection.java:189)
位于org.apache.hive.jdbc.HiveDriver.connect(HiveDriver.java:105)
位于java.sql.DriverManager.getConnection(DriverManager.java:664)
位于java.sql.DriverManager.getConnection(DriverManager.java:270)
位于org.springframework.samples.hadoop.hive.HiveJdbcClient.main(HiveJdbcClient.java:23)
有人能告诉我这个异常是如何引发的吗?新版本的hive jdbc不适用于hiveserver2。hive jira上已经打开了一个相同的bug。您可以使用hive jdbc 1.0.0版本,它是兼容的。“hive\u CLI\u SERVICE\u PROTOCOL\u V8”此字段在hive 1.1.0版本中可用 您需要在类路径中添加hive-jdbc-1.1.0.jar
我希望您的问题能够得到解决。检查您在程序中使用的从属JAR的版本及其与配置单元版本的兼容性
Exception in thread "main" java.lang.NoSuchFieldError: HIVE_CLI_SERVICE_PROTOCOL_V8
at org.apache.hive.jdbc.HiveConnection.<init>(HiveConnection.java:189)
at org.apache.hive.jdbc.HiveDriver.connect(HiveDriver.java:105)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:270)
at org.springframework.samples.hadoop.hive.HiveJdbcClient.main(HiveJdbcClient.java:23)