gpt4 book ai didi

maven - 无法通过JDBC在Hive服务器2上执行查询

转载 作者:行者123 更新时间:2023-12-02 21:17:52 31 4
gpt4 key购买 nike

我正在尝试使用JDBC在Hive Server 2上执行单元组插入以进行测试。尽管在连接到服务器上的jdbc:hive2://时可以通过beeline客户端进行此类操作而没有问题,但是我无法使用JDBC复制相同的操作。

文件 TestDAO.java 中涉及的代码段如下:

ps = con.prepareStatement("insert into table test_table select ?, ? from dummy");
ps.setInt(1, test.getRoll());
ps.setString(2, test.getName());

System.out.println("Name = " + test.getName() + ", Roll = " + test.getRoll());

returnValue = ps.executeUpdate(); // Line 22

执行代码时,遇到异常:
Starting...
jdbc:hive2://7.224.118.49:10000/acaddwh
Connection obtained!
Name = Inserted User, Roll = 120
java.sql.SQLException: Error while processing statement: FAILED: Execution Error, return code -101 from org.apache.hadoop.hive.ql.exec.MoveTask. org.apache.hadoop.hdfs.client.HdfsAdmin.getEncryptionZoneForPath(Lorg/apache/hadoop/fs/Path;)Lorg/apache/hadoop/hdfs/protocol/EncryptionZone;
at org.apache.hive.jdbc.HiveStatement.execute(HiveStatement.java:277)
at org.apache.hive.jdbc.HiveStatement.executeUpdate(HiveStatement.java:390)
at org.apache.hive.jdbc.HivePreparedStatement.executeUpdate(HivePreparedStatement.java:117)
at in.ac.iitkgp.acaddwh.dao.TestDAO.saveDim(TestDAO.java:22)
at in.ac.iitkgp.acaddwh.service.etl.TestHiveLoad.load(TestHiveLoad.java:34)
at in.ac.iitkgp.acaddwh.service.etl.TestHiveLoad.main(TestHiveLoad.java:71)
in.ac.iitkgp.acaddwh.exception.LoadException
at in.ac.iitkgp.acaddwh.service.etl.TestHiveLoad.load(TestHiveLoad.java:44)
at in.ac.iitkgp.acaddwh.service.etl.TestHiveLoad.main(TestHiveLoad.java:71)
Load,1,120,Data is invalid

我已经使用以下方式授予了数据库中所有表的“rwx”权限:
hadoop fs -chmod -R 777 /user/hive/warehouse/acaddwh.db/test_table

但是,这并没有改变任何东西。我附上了可能与该问题有关的更多信息。

Version info: Hive 0.12.0-cdh5.1.0



我通过执行以下命令启动服务器:
./hive --service hiveserver2 10000 &

这是我的pom.xml文件中依赖项的完整列表:
    <dependency>
<groupId>jdk.tools</groupId>
<artifactId>jdk.tools</artifactId>
<version>1.6</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-coyote</artifactId>
<version>7.0.4</version>
</dependency>
<dependency>
<groupId>org.apache.hive</groupId>
<artifactId>hive-jdbc</artifactId>
<version>0.13.1-cdh5.3.1</version>
</dependency>
<dependency>
<groupId>org.apache.thrift</groupId>
<artifactId>libthrift</artifactId>
<version>0.9.0</version>
</dependency>
<dependency>
<groupId>org.apache.thrift</groupId>
<artifactId>libfb303</artifactId>
<version>0.9.0</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-core</artifactId>
<version>2.5.0-mr1-cdh5.3.1</version>
</dependency>

<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>2.5.0-cdh5.3.1</version>
</dependency>
<dependency>
<groupId>org.apache.hive</groupId>
<artifactId>hive-exec</artifactId>
<version>0.13.1-cdh5.3.1</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-hdfs</artifactId>
<version>2.5.0-cdh5.3.1</version>
</dependency>

可能是什么问题以及如何解决?

最佳答案

hadoop / HDFS不支持任何更新。

关于maven - 无法通过JDBC在Hive服务器2上执行查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38286378/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com