在事务配置单元表上运行简单配置单元选择查询时出现SemanticException [错误10265]

时间:2017-03-08 10:45:25

标签: database hive hiveql

我在hive中创建了表:

CREATE TABLE test_table (COL1 string, COL2 string, COL3 string, COL4 string) CLUSTERED BY(COL2) INTO 4 BUCKETS STORED AS ORC tblproperties("transactional"="true");

现在尝试在hive提示符中使用putty进行查询:

select * from test_db.test_table;

此操作失败,并显示以下消息:

  

FAILED:SemanticException [错误10265]:不允许此命令   在具有非ACID事务的ACID表test_db.test_table上   经理。命令失败:null

请帮我解决此错误。

1 个答案:

答案 0 :(得分:8)

Hive事务管理器必须设置为org.apache.hadoop.hive.ql.lockmgr.DbTxnManager才能使用ACID表。

SET hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager;

此外,设置这些属性以启用事务支持

客户端

SET hive.support.concurrency=true;
SET hive.enforce.bucketing=true;
SET hive.exec.dynamic.partition.mode=nonstrict;

服务器端(Metastore)

SET hive.compactor.initiator.on=true;
SET hive.compactor.worker.threads=1;

注意:hive-site.xml中添加这些属性以永久设置它们。