我正在尝试更新Hive Transactional表,但它给出了以下错误:
FAILED:SemanticException [错误10290]:遇到解析错误 解析重写的合并/更新或删除查询。
下面是我的表DDL:
CREATE TABLE bucketed_poc(
Col1 Int,
Col2 Int
)
CLUSTERED BY (Col2) INTO 10 BUCKETS
STORED AS ORC TBLPROPERTIES("transactional"="true","orc.compress"="ZLIB");
以下是我为ACID表设置的属性:
set hive.enforce.bucketing = true;
set hive.support.concurrency = true;
set hive.exec.dynamic.partition.mode = nonstrict;
set hive.txn.manager = org.apache.hadoop.hive.ql.lockmgr.DbTxnManager;
set hive.compactor.initiator.on = true;
set hive.compactor.worker.threads = 1;
我可以删除数据,但更新无效。我正在运行下面提到的更新查询:
Update bucketed_poc set col2 = 1 where `col1=877639`;
答案 0 :(得分:0)
在hive事务表中,您无法更新分段列。在您的情况下,在col2列上进行存储,因此您无法更新col2。