Support Questions
Find answers, ask questions, and share your expertise
Announcements
Alert: Welcome to the Unified Cloudera Community. Former HCC members be sure to read and learn how to activate your account here.

Who agreed with this topic

setting up ACID functionality on a quickstart VM

New Contributor

Objective is to update and delete a row in a table.

 

I know I need those values set in hive for ACID to be enabled:

 

set hive.support.concurrency=true;
set hive.enforce.bucketing=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=2;

 

I set them in hive and create a table

create table db.myTable(

  str1 string,

  str2 string

)

partitioned by (

  dt string

)

stored as parquet TBLPROPERTIES('transactional' = 'true');

 

trying to update using

update db.myTable set str2 = 'blabla' where dt '2016-01-01'

 

There is a row in myTable belonging to the partion 2016-01-01, but the update fails with

 

Error while compiling statement: FAILED: SemanticException [Error 10294]: Attempt to do update or delete using transaction manager that does not support these operations

 

Any suggestions as to what might be wrong?

Who agreed with this topic