1、hive的DML操作
在執行update、delete操作的時候需要開啟事務的支持
2、hive事務的開啟需要以下的依賴的條件
只支持ORCFile文件格式
默認關閉,需要手動開啟
表必須支持分桶
0.14開始支持insert,delete,update操作
必須加入配置
3、需要添加的配置
<property>
<name>hive.support.concurrency</name>
<value>true</value>
</property>
<property>
<name>hive.enforce.bucketing</name>
<value>true</value>
</property>
<property>
<name>hive.exec.dynamic.partition.mode</name>
<value>nonstrict</value>
</property>
<property>
<name>hive.txn.manager</name>
<value>org.apache.hadoop.hive.ql.lockmgr.DbTxnManager</value>
</property>
<property>
<name>hive.compactor.initiator.on</name>
<value>true</value>
</property>
<property>
<name>hive.compactor.worker.threads</name>
<value>1</value>
</property>
4、創建表驗證
create table test_trancaction (user_id Int,name String) clustered by (user_id) into 3 buckets stored as orc TBLPROPERTIES ('transactional'='true');
create table test_insert_test(id int,name string) row format delimited fields TERMINATED BY ',';
insert into test_trancaction select * from test_insert_test;
update test_trancaction set name='jerrick_up' where id=1;
5、數據文件
1,jerrick
2,tom
3,jerry
4,lily
5,hanmei
6,limlei
7,lucky