配置Hive支持事务——让hive支持行级insert、update、delete操作
2018-03-01 15:35
603 查看
配置Hive支持事务——让hive支持行级insert、update、delete操作
Hive从0.14版本开始支持事务和行级更新,但缺省是不支持的,需要一些附加的配置。要想支持行级insert、update、delete,需要配置Hive支持事务。二、配置Hive支持事务(CDH5.9版本上修改)
1. 在hive-site.xml文件中添加如下配置项
hive-site.xml的文件位置位于:/etc/hive/conf.clouders.hive/目录下 <property> <name>hive.support.concurrency</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>
添加Hive元数据(使用mysql存储)
INSERT INTO NEXT_LOCK_ID VALUES(1); INSERT INTO NEXT_COMPACTION_QUEUE_ID VALUES(1); INSERT INTO NEXT_TXN_ID VALUES(1); COMMIT;
说明:初始时这三个表没有数据,如果不添加数据,会报以下错误:
org.apache.hadoop.hive.ql.lockmgr.DbTxnManager FAILED: Error in acquiring locks: Error communicating with the metastore
三、测试
1. 启动hadoop集群和mysql
登录Cloudera Manager管理控制台执行Hive服务的操作,单击:”hive”——>“操作”——>“重启”即可
2. 建立测试表
create table t1(id int,name string) clustered by (id) into 8 buckets stored as orc tblproperties('transactional'='true');
说明:建表语句必须带有into buckets子句和stored as orc TBLPROPERTIES (‘transactional’=’true’)子句,并且不能带有sorted by子句。
3.测试insert、update、delete
insert into t1 values (1,'aaa'); insert into t1 values (2,'bbb'); update t1 set name='ccc' where id=1; delete from t1 where id=2;
执行结果分别如图1-3所示
相关文章推荐
- hive如何配置支持事务及insert、update、delete
- hive如何配置支持事务及insert、update、delete
- 让Hive支持行级insert、update、delete
- 让Hive支持行级insert、update、delete
- 让Hive支持行级insert、update、delete
- hive0.14-insert、update、delete操作测试
- hive0.14-insert、update、delete操作测试
- Oracle:数据操作语句 (DML-insert into,update,delete) 部分、事务控制 (TCL-commit,rollback)
- 使用mybatis执行对应的SQL Mapper配置中的insert、update、delete等标签操作,数据库记录不变
- hive0.14-insert、update、delete操作测
- 数据库编程3 Oracle 子查询 insert update delete 事务 回收站 字段操作 企业级项目案例
- hive0.14-insert、update、delete操作测试
- [转] hive0.14-insert、update、delete操作测试
- NHibernate之旅(5):探索Insert, Update, Delete操作
- 在Sql Server触发器中判断操作是Insert还是Update还是Delete
- 操作数据(insert、update、delete)
- MERGE 解决 当目标表 与原始表 比较异同,判断insert,update,delete 操作
- 在Sql Server触发器中判断操作是Insert还是Update还是Delete
- SQL Server中的XML数据进行insert、update、delete操作实现代码
- 操作Ms Sql触发器的insert,update,delete