java如何通过jdbc将数据插入配置单元表?
我曾尝试使用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
# 1 楼答案
executeQuery()-这通常用于读取数据库的内容。输出将采用ResultSet的形式。通常使用SELECT语句
executeUpdate()-这通常用于更改数据库。一般情况下,DROP TABLE或DATABASE、INSERT into TABLE、UPDATE TABLE、DELETE from TABLE语句都会用到这一点。输出将采用int的形式。该int值表示受查询影响的行数
execute()-如果不知道要使用哪种方法执行SQL语句,可以使用此方法。这将返回一个布尔值。TRUE表示结果是ResultSet,FALSE表示其具有int值,int值表示受查询影响的行数
# 2 楼答案
请使用executeUpdate方法,而不是executeQuery方法
# 3 楼答案
必须将
executeUpdate
与插入更新删除一起使用: