首先,必須明確,你理解的Hive這款軟件,定位是什么?是面向事務(wù)支持事務(wù)的RDBMS?還是面向分析,支持分析的數(shù)據(jù)倉庫。這很重要。
Hive是基于Hadoop的數(shù)據(jù)倉庫,面向分析支持分析工具。因此在Hive中常見的操作的就是分析查詢select操作。將已有的結(jié)構(gòu)化數(shù)據(jù)文件映射成為表,然后提供SQL分析數(shù)據(jù)的能力。
因此Hive剛出現(xiàn)的時(shí)候是不支持update和delete語法支持的,因?yàn)镠ive所處理的數(shù)據(jù)都是已經(jīng)存在的結(jié)構(gòu)化文件,加載到hive表中即可。文章來源:http://www.zghlxwxcb.cn/news/detail-552532.html
后續(xù)Hive支持了相關(guān)的update和delete操作,不過有很多約束。詳見Hive事務(wù)的支持。文章來源地址http://www.zghlxwxcb.cn/news/detail-552532.html
1 update操作
--1、開啟事務(wù)配置(可以使用set設(shè)置當(dāng)前session生效 也可以配置在hive-site.xml中)
set hive.support.concurrency = true; --Hive是否支持并發(fā)
set hive.enforce.bucketing = true; --從Hive2.0開始不再需要 是否開啟分桶功能
set hive.exec.dynamic.partition.mode = nonstrict; --動(dòng)態(tài)分區(qū)模式 非嚴(yán)格
set hive.txn.manager = org.apache.hadoop.hive.ql.lockmgr.DbTxnManager; --
set hive.compactor.initiator.on = true; --是否在Metastore實(shí)例上運(yùn)行啟動(dòng)壓縮合并
set hive.compactor.worker.threads = 1; --在此metastore實(shí)例上運(yùn)行多少個(gè)壓縮程序工作線程。
--2、創(chuàng)建Hive事務(wù)表
create table trans_student(
id int,
到了這里,關(guān)于Hive(21):DML之Update、Delete更新、刪除數(shù)據(jù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!