hive配置表transactional支持删除delete和update修改

hive 默认支持insert,但不支持update和delete,需要自己手动配置

1.hive-site.xml修改

根据官网:https://cwiki.apache.org/confluence/display/Hive/Hive+Transactions

hive-site.xml客户端服务端添加配置:

<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>


2.不需要修改元数据库,我的hive 3.0

看好多帖子需要修改元数据库,添加表


3.创建transactional表

然后建表要有

就可以了

CREATE  TABLE d8 (id INT, name STRING) STORED AS ORC TBLPROPERTIES ('transactional'='true');
nohup  hive --service hiveserver2 &

启动hiveserver2,用beeline连接测试,可以随意 添加修改删除

insert本来就是支持的。这下就可以随意update delete了。


登录后即可回复 登录 | 注册
    
关注编程学问公众号