您好,登錄后才能下訂單哦!
進(jìn)行數(shù)據(jù)分區(qū)將會(huì)極大的提高數(shù)據(jù)查詢的效率,尤其是對(duì)于當(dāng)下大數(shù)據(jù)的運(yùn)用,是一門不可或缺的知識(shí)。那么數(shù)據(jù)怎么創(chuàng)建分區(qū)呢?數(shù)據(jù)怎樣加載到分區(qū)呢?
Impala/Hive按State分區(qū)Accounts
(1)示例:accounts是非分區(qū)表
通過以上方式創(chuàng)建的話,數(shù)據(jù)就存放在accounts目錄里面。那么,如果Loudacre大部分對(duì)customer表的分析是按state來完成的?比如:
這種情況下如果數(shù)據(jù)量很大,為了避免全表掃描的發(fā)生,我們可以去創(chuàng)建分區(qū)。如果不創(chuàng)建分區(qū)的話,它會(huì)默認(rèn)所有查詢不得不掃描目錄的所有文件。創(chuàng)建分區(qū)按state將數(shù)據(jù)存儲(chǔ)到不同的子目錄,當(dāng)按照“NY”的條件進(jìn)行查詢的時(shí)候,它只會(huì)掃描到子目錄,下面我具體來看一下分區(qū)創(chuàng)建。
二、分區(qū)創(chuàng)建
(1)使用PARTITIONED BY來創(chuàng)建分區(qū)表
在這里注意state是被刪除掉的,因?yàn)樗鳛榉謪^(qū)字段,我們知道分區(qū)數(shù)據(jù)是不會(huì)出現(xiàn)在實(shí)際的文件當(dāng)中的,所以state作為分區(qū)字段是不會(huì)出現(xiàn)在列當(dāng)中的。換句話說,分區(qū)鍵就是一個(gè)虛列,它是不會(huì)存在列當(dāng)中的。那么,如何去查看我們分區(qū)的列呢?它會(huì)出現(xiàn)在我們的結(jié)構(gòu)當(dāng)中嗎?會(huì)的。
三、查看分區(qū)列
使用DESCRIBE顯示分區(qū)列,它會(huì)出現(xiàn)在結(jié)構(gòu)最后一列,它是一個(gè)虛列,并不是真實(shí)在數(shù)據(jù)中存在的列。
我們創(chuàng)建單個(gè)分區(qū),但有時(shí)候會(huì)有嵌套分區(qū),如何來處理呢?
四、創(chuàng)建嵌套分區(qū):
創(chuàng)建好了分區(qū),我們?cè)趺醇虞d數(shù)據(jù)到分區(qū)呢?有兩種方式動(dòng)態(tài)分區(qū)和靜態(tài)分區(qū)。動(dòng)態(tài)分區(qū)是指Impala/Hive在加載的時(shí)候自動(dòng)添加新的分區(qū),數(shù)據(jù)基于列值存儲(chǔ)到正確的分區(qū)(子目錄)。而靜態(tài)分區(qū)需要我們通過ADD PARTITION提前去定義分區(qū)的名稱,當(dāng)加載數(shù)據(jù)的時(shí)候,指定存儲(chǔ)數(shù)據(jù)到哪個(gè)分區(qū)。那么動(dòng)態(tài)分區(qū)和靜態(tài)分區(qū)各有什么特征呢?后續(xù)為大家接著分享。
對(duì)于大數(shù)據(jù),我們應(yīng)該積極主動(dòng)的去迎合和學(xué)習(xí),因?yàn)樗鼪]有成熟的體系,還在發(fā)展上升,只有不斷學(xué)習(xí)提升才可以趕上發(fā)展的步伐。建議在平時(shí)大家多學(xué)習(xí)交流,我在平常喜歡關(guān)注“大數(shù)據(jù)cn”這個(gè)微信公眾號(hào),對(duì)于我個(gè)人而言,很不錯(cuò),推薦圍觀。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。