2017-09-04 7 views
1

나는 아래의 특성을 가진 하이브-site.xml 파일 업데이트 한 bucketed하지 않는 테이블에 삭제 : 나는 명령 아래에있는 테이블을 업데이트하려고업데이트/AcidOutputFormat를 사용하지 않거나

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 = 1; 

:

update employee_basic set dept = 'IT'; 

하지만 점점 오류 : 주어진 세부 사항에서

FAILED: SemanticException [Error 10297]: Attempt to do update or delete on table employee_det.employee_basic that does not use an AcidOutputFormat or is not bucketed

+0

에서 자세한 내용을 확인하고 테이블 저장 형식은? –

+0

행 형식 표 – Harsh

+0

로 저장 ...? –

답변

0

, 당신은 하이브활성화 한 모습.

ACID의 경우 지원 테이블이 ORC 형식이어야하며 버킷을 사용할 수 있어야합니다.

버킷을 활성화했지만 테이블이 ORC 형식인지 확실하지 않습니다. 위의 조건을 만족하는지 확인하려면 show create table을 사용하여 테이블 정의를 확인하십시오.

https://cwiki.apache.org/confluence/display/Hive/Hive+Transactions

0

"Only ORC file format is supported in this first release. The feature has been built such that transactions can be used by any storage format that can determine how updates or deletes apply to base records (basically, that has an explicit or implicit row id), but so far the integration work has only been done for ORC."

https://cwiki.apache.org/confluence/display/Hive/Hive+Transactions