下面是我从文件中检索并在';'上拆分这些查询的hqls
set hive.support.concurrency=true;
set hive.enforce.bucketing=true;
set hive.exec.dynamic.partition.mode=nonstrict;
set hive.compactor.initiator.on = true;
set hive.compactor.worker.threads = 1;
set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager;
--inserting\n
insert into abc.test_hiveServer2 values(6,'HYQ');
insert into abc.test_hiveServer2 values(8,'DEL');
我正在使用下面的代码片段来运行上面的代码:
try (Statement stmt = jdbcConnection.createStatement()) {
for (String query : queries) {
stmt.executeQuery(query);
}
所有配置均成功运行,但是在插入查询时失败,但出现以下异常:
SemanticException [Error 10265]: This command is not allowed on an ACID table abc.test_hiveserver2 with a non-ACID transaction manager. Failed command: null
但是使用hive cli可以使同一组命令正常运行。
我创建的表为orc格式,并且事务性设置为true。 谁能建议一些更好的方法来执行上述查询?