【发布时间】:2018-12-01 17:54:38
【问题描述】:
我正在尝试使用 hive-jdbc 连接将数据插入 Hive (NON-ACID) 表。如果我在“语句”中执行单个 SQL 查询,它就可以工作。如果我尝试使用“addBatch”对 SQL 进行批处理,则会收到错误“不支持方法”。我正在使用 hive-jdbc 2.1 和 HDP 2.3。有没有办法使用 hive-jdbc 将多个 SQL 批处理到单个“语句”中?
【问题讨论】:
标签: hive
我正在尝试使用 hive-jdbc 连接将数据插入 Hive (NON-ACID) 表。如果我在“语句”中执行单个 SQL 查询,它就可以工作。如果我尝试使用“addBatch”对 SQL 进行批处理,则会收到错误“不支持方法”。我正在使用 hive-jdbc 2.1 和 HDP 2.3。有没有办法使用 hive-jdbc 将多个 SQL 批处理到单个“语句”中?
【问题讨论】:
标签: hive
正如 Ben 提到的,addBatch() 方法在 hive jdbc 中不受支持。
您可以在一个语句中插入多条数据,例如:
String batchInsertSql = "insert into name_age values (?,?),(?,?)";
preparedStatement = connection.prepareStatement(batchInsertSql);
preparedStatement.setString(1, "tom");
preparedStatement.setInt(2, 10);
preparedStatement.setString(3, "sam");
preparedStatement.setInt(4, 20);
preparedStatement.execute();
【讨论】:
不幸的是,Hive-JDBC 中的 addBatch 方法只有一个接口,没有实现......
public void addBatch() throws SQLException {
// TODO Auto-generated method stub
throw new SQLException("Method not supported");
}
【讨论】: