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.

setting up ACID functionality on a quickstart VM

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?

1 REPLY 1
Highlighted

Re: setting up ACID functionality on a quickstart VM

New Contributor

I have the same problem both using Parquet file and using ORC File with Hive.

  

Thanks.

Don't have an account?
Coming from Hortonworks? Activate your account here