我的基本要求是使用JOIN和另一个表来更新表。因为不支持,所以我尝试INSERT OVERWRITE语句。但是下面是它引发的错误
FAILED: SemanticException [Error 10295]: INSERT OVERWRITE not allowed on table with OutputFormat that implements AcidOutputFormat while transaction manager that supports ACID is in use
我已启用ACID属性。我的查询类似于下面的
INSERT OVERWRITE TABLE tbl1 SELECT
col1,col2,col3 ,
case when B.COL4 is not null then B.COL4 else A.COL4 end as COL4...
FROM
tbl1 A
LEFT JOIN (
SELECT col1,col2,col3,col4..coln
FROM tbl1 rcs LEFT JOIN TBL2... many other conditions and joins,
) B
ON JOIN CONDITIONS;
tbl1模式
CREATE TABLE tbl1(
col1 varchar(10),col2 varchar(10),col3 varchar(10))
CLUSTERED BY (col1) INTO 2 BUCKETS
STORED AS ORC TBLPROPERTIES('transactional'='true');