java - 如何通过jdbc向hive表插入数据?

标签 java jdbc hive

我尝试过使用jdbc来操作hive中的数据。当我使用选择或创建操作时,一切正常。但是当我尝试使用 insert 将一些行添加到表中时,例如:

String sql = "insert into agg_test_20170508 values (20170508, 100)";
Class.forName(JDBC_Driver);
connection = DriverManager.getConnection(JDBC_String, ID, pwd);
Statement stmt = connection.createStatement();
System.out.println(D_FORMAT.format(new Date()) + " Running:\r\n" + sql);
ResultSet res = stmt.executeQuery(sql);
System.out.println(D_FORMAT.format(new Date()) + " QUERY COMPELET.");

但是过了很长一段时间,什么也没有返回。使用jdbc连接hive有什么限制吗?

我公司的hadoop版本是0.20.2。

最佳答案

您必须将 executeUpdate 与 INSERT UPDATE DELETE 一起使用:

int res = stmt.executeUpdate(sql);

int executeUpdate(String sql): executes an INSERT, UPDATE or DELETE statement and returns an update account indicating number of rows affected (e.g. 1 row inserted, or 2 rows updated, or 0 rows affected).

ResultSet executeQuery(String sql): executes a SELECT statement and returns a ResultSet object which contains results returned by the query.

关于java - 如何通过jdbc向hive表插入数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43848000/

相关文章:

java - 在 Java 中绘制圆弧

java使用httpclient 4.1抓取https获取bad_record_mac

java - 在不创建存储过程的情况下将 PL/SQL 发送到 Oracle

java - 如何连接到Java中的数据库连接

hadoop - 检查配置单元表是否在给定列上分区

java - 我如何使用 spring boot controller 进行 http post junit 测试

java - 如何修复错误 Cannot change strategy of configuration in gradle?

java - Glassfish 管理控制台在创建 JDBC 池时抛出 java.lang.IllegalStateException

csv - hive 中的额外空行

scala - Spark 集成测试的 Hive 配置