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