数据更新是一种常见的操作,然后数据仓库的概念一般要求的是数据是集成、稳定的。HIVE作为一种分布式环境下以HDFS为支撑的数据仓库,它同样更多的要求数据是不可变的。 然而现实很多任务中,往往需要对数据进行更新操作,经查,Hive自0.11版本之后就提供了更新操作。于是想着试验一下,看看HIVE更新的操作和性能。
按照网上办法进行设置.
hive.support.concurrency – true hive.enforce.bucketing – true (Not required as of Hive 2.0) hive.exec.dynamic.partition.mode – nonstrict hive.txn.manager – org.apache.hadoop.hive.ql.lockmgr.DbTxnManager hive.compactor.initiator.on – true (for exactly one instance of the Thrift metastore service) hive.compactor.worker.threads – a positive
同样在建表后面添加: stored as orc TBLPROPERTIES('transactional'='true'); 以支持ACID的要求.
如以简单的表进行实验:(id int ,name string) , 随意导入几条数据,进行测试.
写入更新操作命令: update ** set name ='aaa' where id =1;
得到结果如下:
本文地址:http://nhjcxspj.xhstdz.com/quote/3302.html 物流园资讯网 http://nhjcxspj.xhstdz.com/ , 查看更多