首先,必须明确,你理解的Hive这款软件,定位是什么?是面向事务支持事务的RDBMS?还是面向分析,支持分析的数据仓库。这很重要。
Hive是基于Hadoop的数据仓库,面向分析支持分析工具。因此在Hive中常见的操作的就是分析查询select操作。将已有的结构化数据文件映射成为表,然后提供SQL分析数据的能力。
因此Hive刚出现的时候是不支持update和delete语法支持的,因为Hive所处理的数据都是已经存在的结构化文件,加载到hive表中即可。文章来源:https://www.toymoban.com/news/detail-552532.html
后续Hive支持了相关的update和delete操作,不过有很多约束。详见Hive事务的支持。文章来源地址https://www.toymoban.com/news/detail-552532.html
1 update操作
--1、开启事务配置(可以使用set设置当前session生效 也可以配置在hive-site.xml中)
set hive.support.concurrency = true; --Hive是否支持并发
set hive.enforce.bucketing = true; --从Hive2.0开始不再需要 是否开启分桶功能
set hive.exec.dynamic.partition.mode = nonstrict; --动态分区模式 非严格
set hive.txn.manager = org.apache.hadoop.hive.ql.lockmgr.DbTxnManager; --
set hive.compactor.initiator.on = true; --是否在Metastore实例上运行启动压缩合并
set hive.compactor.worker.threads = 1; --在此metastore实例上运行多少个压缩程序工作线程。
--2、创建Hive事务表
create table trans_student(
id int,
到了这里,关于Hive(21):DML之Update、Delete更新、删除数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!