HIveServer2:ACID操作在ORC表上失败,即使在设置了Hive Transaction Manager之后

时间:2018-07-17 14:27:28

标签: jdbc hive

下面是我从文件中检索并在';'上拆分这些查询的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。 谁能建议一些更好的方法来执行上述查询?

0 个答案:

没有答案