日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
Hive擴(kuò)展數(shù)據(jù)庫(kù):無(wú)需分區(qū)化(hive不分區(qū)擴(kuò)展數(shù)據(jù)庫(kù))

在大數(shù)據(jù)處理中,Hive是一款開(kāi)源的數(shù)據(jù)倉(cāng)庫(kù)工具,它能夠?qū)⒑A繑?shù)據(jù)進(jìn)行分析和存儲(chǔ)。Hive基于Hadoop的分布式文件系統(tǒng)HDFS,使用類(lèi)SQL語(yǔ)言,支持以MapReduce作為底層計(jì)算引擎。

網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)!專(zhuān)注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、微信小程序開(kāi)發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了嵐皋免費(fèi)建站歡迎大家使用!

然而,對(duì)于需要快速查詢(xún)的海量數(shù)據(jù),Hive常常遇到擴(kuò)展性和效率的問(wèn)題。Hive基于Hadoop的架構(gòu)模式需要將數(shù)據(jù)進(jìn)行分區(qū)化處理才能進(jìn)行查詢(xún),這導(dǎo)致了Hive在查詢(xún)大數(shù)據(jù)時(shí)的過(guò)多的I/O操作,進(jìn)而影響了Hive的查詢(xún)效率。

為了解決這個(gè)問(wèn)題,研究人員提出了一種新的方法,即Hive擴(kuò)展數(shù)據(jù)庫(kù)。這種方法能夠讓Hive不需要進(jìn)行分區(qū)化處理就能直接查詢(xún)大數(shù)據(jù)并提高查詢(xún)效率。

一、Hive擴(kuò)展數(shù)據(jù)庫(kù)的原理

Hive擴(kuò)展數(shù)據(jù)庫(kù)的原理是通過(guò)一種新型的文件存儲(chǔ)格式ORC(Optimized Row Columnar)來(lái)存儲(chǔ)數(shù)據(jù)。ORC文件格式是專(zhuān)門(mén)針對(duì)Hadoop生態(tài)系統(tǒng)開(kāi)發(fā)的一種列式存儲(chǔ)格式,它可以大幅度減少I(mǎi)/O操作次數(shù),提高查詢(xún)效率。與傳統(tǒng)的存儲(chǔ)格式相比,使用ORC格式存儲(chǔ)時(shí),Hive可以將單次查詢(xún)的I/O次數(shù)降低到1/10以下。

在使用ORC格式進(jìn)行數(shù)據(jù)存儲(chǔ)之后,Hive可以不進(jìn)行數(shù)據(jù)分區(qū)化處理,直接進(jìn)行查詢(xún),并且查詢(xún)效率很高。這種方法可以讓Hive處理海量數(shù)據(jù)時(shí)避免進(jìn)行大量的I/O操作,從而大幅度提升查詢(xún)效率。

二、Hive擴(kuò)展數(shù)據(jù)庫(kù)的優(yōu)勢(shì)

1、提高查詢(xún)速度

使用Hive擴(kuò)展數(shù)據(jù)庫(kù)可以大幅度提高查詢(xún)效率。在Hive進(jìn)行查詢(xún)時(shí),I/O操作是一個(gè)非常重要的環(huán)節(jié),如果數(shù)據(jù)分區(qū)非常多,需要讀取的數(shù)據(jù)也就隨之變多,這導(dǎo)致Hive進(jìn)行查詢(xún)的效率非常低下。而使用ORC格式存儲(chǔ)數(shù)據(jù)不需要進(jìn)行數(shù)據(jù)分區(qū)化處理,可以讓Hive直接進(jìn)行查詢(xún),從而大大提高查詢(xún)效率。

2、降低成本

使用Hive擴(kuò)展數(shù)據(jù)庫(kù)可以降低成本。傳統(tǒng)的存儲(chǔ)方式需要進(jìn)行數(shù)據(jù)分區(qū)化處理,這通常需要大量的人力和時(shí)間投入。而使用ORC格式存儲(chǔ)數(shù)據(jù)可以避免這些成本,同時(shí)還可以更好地滿足海量數(shù)據(jù)的存儲(chǔ)和查詢(xún)需求。

3、提高數(shù)據(jù)質(zhì)量

使用Hive擴(kuò)展數(shù)據(jù)庫(kù)可以提高數(shù)據(jù)質(zhì)量。由于不需要進(jìn)行數(shù)據(jù)分區(qū)化處理,因此數(shù)據(jù)間的關(guān)聯(lián)和分布可以更好地保留和忠實(shí)反映。這樣能夠避免分區(qū)化處理時(shí)可能出現(xiàn)的數(shù)據(jù)漏洞和誤差,從而提高數(shù)據(jù)質(zhì)量。

三、Hive擴(kuò)展數(shù)據(jù)庫(kù)的應(yīng)用場(chǎng)景

1、海量數(shù)據(jù)存儲(chǔ)和查詢(xún)場(chǎng)景

Hive擴(kuò)展數(shù)據(jù)庫(kù)適用于海量數(shù)據(jù)存儲(chǔ)和查詢(xún)場(chǎng)景,例如電商、金融、醫(yī)療、物流等行業(yè),對(duì)于需要進(jìn)行海量數(shù)據(jù)查詢(xún)和高效存儲(chǔ)的場(chǎng)景非常適用。

2、機(jī)器學(xué)習(xí)和數(shù)據(jù)挖掘場(chǎng)景

Hive擴(kuò)展數(shù)據(jù)庫(kù)同樣適用于機(jī)器學(xué)習(xí)和數(shù)據(jù)挖掘場(chǎng)景,特別是在需要處理大規(guī)模數(shù)據(jù)集以進(jìn)行機(jī)器學(xué)習(xí)訓(xùn)練時(shí),使用Hive擴(kuò)展數(shù)據(jù)庫(kù)可以極大地提高數(shù)據(jù)處理效率。

3、存儲(chǔ)系統(tǒng)升級(jí)場(chǎng)景

如果現(xiàn)有的存儲(chǔ)系統(tǒng)無(wú)法承受更高的數(shù)據(jù)量和復(fù)雜查詢(xún)時(shí),可以使用Hive擴(kuò)展數(shù)據(jù)庫(kù)來(lái)升級(jí)存儲(chǔ)和查詢(xún)能力。

四、結(jié)論

Hive擴(kuò)展數(shù)據(jù)庫(kù)是一種新型的數(shù)據(jù)存儲(chǔ)和查詢(xún)技術(shù),它使用ORC格式存儲(chǔ)數(shù)據(jù)來(lái)避免數(shù)據(jù)分區(qū)化處理,從而提高查詢(xún)效率。使用Hive擴(kuò)展數(shù)據(jù)庫(kù)可以大幅提高查詢(xún)速度,降低成本,并提高數(shù)據(jù)質(zhì)量。Hive擴(kuò)展數(shù)據(jù)庫(kù)適用于海量數(shù)據(jù)存儲(chǔ)和高效查詢(xún)、機(jī)器學(xué)習(xí)和數(shù)據(jù)挖掘等場(chǎng)景。如果現(xiàn)有存儲(chǔ)系統(tǒng)無(wú)法承受更高的數(shù)據(jù)量和查詢(xún)要求,可以考慮使用Hive擴(kuò)展數(shù)據(jù)庫(kù)進(jìn)行升級(jí)。

成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián)為您提供網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)頁(yè)設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù)!

hive 分區(qū)表

hive 分區(qū)表:

分區(qū)字段的物理表現(xiàn):

hive分區(qū)表 ,其真實(shí)的表現(xiàn)其實(shí)就是在 存儲(chǔ)hive表的文件夾的下面,創(chuàng)建新的文件夾,

文件夾的名字是 分區(qū)字段=字段取值 這種格式的。

分區(qū)的優(yōu)點(diǎn):

當(dāng)分區(qū)表的數(shù)據(jù)很大的時(shí)候,可以指定查詢(xún)表格之逗胡寬中的部分?jǐn)?shù)據(jù)。

設(shè)置表格分區(qū)字段需要的注意點(diǎn):

1:分區(qū)字段的取值不要很多,因?yàn)檫@樣會(huì)造成表的文件夾的下面會(huì)出現(xiàn)很多的小的文件夾

2: 一般可以將sql之中 where 之中出現(xiàn)的字段作為 分區(qū)的字段。(可以當(dāng)作分區(qū)字段選取的一個(gè)參考)

查看表格是否是分區(qū)表:

desc formatted table_name

分區(qū)表的話 ,會(huì)有Partition Information

向分區(qū)表插入數(shù)據(jù):

情況分為:

1:向表格之中插入數(shù)據(jù),明確指定插入的分區(qū)的名字

2:向表格之中插入數(shù)據(jù),不明確指定插入的數(shù)據(jù)的名字,而是根據(jù)插入的數(shù)據(jù)的某個(gè)字段的取值來(lái)自動(dòng)決定數(shù)據(jù)

入到哪一個(gè)分區(qū)之中。被稱(chēng)為動(dòng)態(tài)分區(qū)。

如何開(kāi)啟hive 動(dòng)態(tài)分區(qū)的功能?

set  hive.exec.dynamici.partition=true;

hive 動(dòng)態(tài)分區(qū):有兩種模式:

嚴(yán)格模式 和非嚴(yán)格模式

嚴(yán)格模式:

動(dòng)態(tài)分區(qū)的時(shí)候,必須有一個(gè)分區(qū)是靜態(tài)的。

非嚴(yán)格模式,對(duì)分區(qū)是否是靜態(tài)的不在意。

如何設(shè)置 動(dòng)態(tài)分區(qū)的模式?

set hive.exec.dynamic.partition.mode=nostrict

默認(rèn)的模式是strict 嚴(yán)格模式。

插入數(shù)據(jù)時(shí) 明確指定需要插入的分區(qū)的值:

sql demo :

1:load data inpath ‘path’ into table xxx partition(partition_fields partiton_type)

2:insert into table table_a partition(partition_fields partition_type)

select * from table_b ;

使用insert 的時(shí)候 ,需要注意前后表的表的字做搏段數(shù)目是匹配的,

如果表的前后字段是不匹配的話,那么就是會(huì)報(bào)錯(cuò)。

向分區(qū)表之中插入數(shù)據(jù)的時(shí)候,根據(jù)數(shù)據(jù)的某個(gè)字段的值,來(lái)創(chuàng)建分區(qū),

以及決定數(shù)據(jù)入到哪一個(gè)分區(qū)之中。

sql demo:

對(duì)一個(gè)分區(qū) 進(jìn)行動(dòng)態(tài)分區(qū):

首先要設(shè)置兩個(gè)參數(shù):

set  hive.exec.dynamici.partition=true;

set hive.exec.dynamic.partition.mode=nostrict

然后就是可以使用動(dòng)態(tài)分區(qū)了。

分區(qū)值的推斷,是根據(jù)后面查詢(xún)的最后字段來(lái)決定的,只有一個(gè)分區(qū),

那么就是查詢(xún)的最后一個(gè)字段,如果是兩個(gè),那么就是從后往前的字段進(jìn)行匹配。

insert into table pp partition(`date`) select name,age,`date` from par;

這里的sql demo 

是將par 的`date` 字段 作為pp表之中 `date`分區(qū)的取值。

部分動(dòng)態(tài)分區(qū):

就是多個(gè)分區(qū),但是前面的分區(qū)的取值是取靜態(tài)的,然后后面的分區(qū)的取值是未定的。

類(lèi)似于 partition(country=’china’,city)

這里需要注意的是順序,靜態(tài)分區(qū)在前面,動(dòng)態(tài)分區(qū)在后面。

然后就是多個(gè)分區(qū),完全的動(dòng)態(tài)分區(qū):

完全動(dòng)態(tài)分區(qū)的時(shí)候,就是使用后面select 查詢(xún)的表進(jìn)行分區(qū)數(shù)據(jù)的匹配。

、

動(dòng)態(tài)分區(qū)在實(shí)際使用的時(shí)候會(huì)遇到的問(wèn)題:

動(dòng)態(tài)分區(qū)的一個(gè)使用場(chǎng)景:

首先加載數(shù)據(jù)到一個(gè)表格a之中,然后將這個(gè)表格之中再次轉(zhuǎn)化到另外一個(gè)

表格b之中,表a轉(zhuǎn)化到表b的時(shí)候,使用動(dòng)態(tài)分區(qū)。

因?yàn)橹苯邮褂胠oad 加山亮載數(shù)據(jù)的時(shí)候,對(duì)于分區(qū)表而言,加載數(shù)據(jù)只能指定固定的分區(qū)名,

無(wú)法使用動(dòng)態(tài)分區(qū)來(lái)加載數(shù)據(jù)。

相應(yīng)的問(wèn)題就是:

如果a表本身含有很多的文件,那么使用動(dòng)態(tài)分區(qū)的時(shí)候,

那么在b表的時(shí)候,就是會(huì)產(chǎn)生很多的小文件。

原因如下:

如果 a表之中數(shù)據(jù)文件是200個(gè),

那么動(dòng)態(tài)分區(qū)的時(shí)候,可能會(huì)產(chǎn)生200個(gè)map,

然后一個(gè)map包含的數(shù)據(jù)之中,可能有多個(gè)分區(qū)的取值,

所以一個(gè)map 會(huì)產(chǎn)生多個(gè)文件。

所以后果就是,在新的b表之中的每個(gè)分區(qū)下面,會(huì)產(chǎn)生很多的小文件。

總結(jié)來(lái)說(shuō):不好的影響就是可能會(huì)產(chǎn)生很多的小文件。

解決的方式:

因?yàn)閯?dòng)態(tài)分區(qū)轉(zhuǎn)化成為的mapredue job 是沒(méi)有reduce,所以數(shù)目不好控制,

所以可以采用的方式,就是手動(dòng)增加reduce的數(shù)目,

可以使用distributed by 來(lái)增加 reduce的數(shù)目。

insert into table table_a partition(‘partition_name’)

select *  from table_b

dirtribute by partitoin_name

但是這樣的方式,就是可能導(dǎo)致 reduce之間包含的數(shù)據(jù)量的不均勻。

所以解決的方法就是:

distribute by rand()

使用hash 隨機(jī)分區(qū),這樣的方式,來(lái)講數(shù)據(jù)均勻分配到reduce之中。

然后每個(gè)reduce 會(huì)產(chǎn)生 分區(qū)取值數(shù)目的文件,

例子: reduce數(shù)目為 200 分區(qū)的取值數(shù)位24

那么最后產(chǎn)生的文件的數(shù)目就是 200* 24個(gè)文件。

其實(shí)可以通過(guò)exlpain 來(lái)解析sql的執(zhí)行計(jì)劃,這樣的話,

可以看出是否具有reduce操作。

查詢(xún)表的分區(qū)信息:

show partitions table_name

向分區(qū)表之中增加分區(qū):

alter table table_name add partition(pfield=pvalue,…)

如果表格之中有多個(gè)分區(qū)的話,那么增加分區(qū)的時(shí)候,也是多個(gè)分區(qū)

一同增加的。

刪除分區(qū):

alter table table_name drop partition(pfield=pval)

分區(qū)信息修改:

分區(qū)信息的修改分為 分區(qū)名的修改 和 分區(qū)數(shù)據(jù)的修改 兩種

分區(qū)名的修改

alter table table_name partition(pfield=pvalue) rename to partition(pfield=pvalue)

分區(qū)數(shù)據(jù)的修改:

hive 不分區(qū)擴(kuò)展數(shù)據(jù)庫(kù)的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于hive 不分區(qū)擴(kuò)展數(shù)據(jù)庫(kù),Hive擴(kuò)展數(shù)據(jù)庫(kù):無(wú)需分區(qū)化,hive 分區(qū)表的信息別忘了在本站進(jìn)行查找喔。

四川成都云服務(wù)器租用托管【創(chuàng)新互聯(lián)】提供各地服務(wù)器租用,電信服務(wù)器托管、移動(dòng)服務(wù)器托管、聯(lián)通服務(wù)器托管,云服務(wù)器虛擬主機(jī)租用。成都機(jī)房托管咨詢(xún):13518219792
創(chuàng)新互聯(lián)(www.cdcxhl.com)擁有10多年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開(kāi)發(fā)經(jīng)驗(yàn)、開(kāi)啟建站+互聯(lián)網(wǎng)銷(xiāo)售服務(wù),與企業(yè)客戶共同成長(zhǎng),共創(chuàng)價(jià)值。


本文標(biāo)題:Hive擴(kuò)展數(shù)據(jù)庫(kù):無(wú)需分區(qū)化(hive不分區(qū)擴(kuò)展數(shù)據(jù)庫(kù))
網(wǎng)站URL:http://www.5511xx.com/article/cdsjpei.html