溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

在Hive中如何實現(xiàn)數(shù)據(jù)分區(qū)

發(fā)布時間:2020-06-11 12:06:27 來源:網(wǎng)絡(luò) 閱讀:5330 作者:caosheng03 欄目:大數(shù)據(jù)

               

    Hive中的分區(qū)就是分目錄,把一個大的數(shù)據(jù)集根據(jù)業(yè)務(wù)需要分割成更小的數(shù)據(jù)集。那么在Hive中如何進行數(shù)據(jù)分區(qū)呢?分區(qū)時應(yīng)該注意什么樣的問題呢?它的分區(qū)數(shù)如何進行限制呢?

一、Hive only:加載分區(qū)數(shù)據(jù)的快捷方法

如果指定的分區(qū)不存在Hive將創(chuàng)建新的分區(qū) 

在Hive中如何實現(xiàn)數(shù)據(jù)分區(qū)

這個命令將:

(1)如果不存在的話添加分區(qū)到表的元數(shù)據(jù);

(2)如果存在的話,創(chuàng)建子目錄:/user/hive/warehouse/call_logs/call_date=2014-10-02

(3)移動HDFS文件call-20141002.log到分區(qū)子目錄

二、查看、添加和移除分區(qū)

(1)查看當(dāng)前表分區(qū) 

在Hive中如何實現(xiàn)數(shù)據(jù)分區(qū)

(2)使用ALTER TABLE添加或刪除分區(qū)

在Hive中如何實現(xiàn)數(shù)據(jù)分區(qū)

  • 從已存在的分區(qū)目錄創(chuàng)建分區(qū)

(1)HDFS的分區(qū)目錄可以在Hive或Impala之外進行創(chuàng)建和數(shù)據(jù),比如:通過Spark或MapReduce應(yīng)用

(2) Hive中使用MSCK REPAIR TABLE命令來為已存在的表創(chuàng)建分區(qū)

在Hive中如何實現(xiàn)數(shù)據(jù)分區(qū)

四、什么時候使用分區(qū)

下列情況使用分區(qū)

(1)讀取整個數(shù)據(jù)集需要花費很長時間

(2)查詢幾乎只對分區(qū)字段進行過濾

(3)分區(qū)列有合理數(shù)量的不同的值

(4)數(shù)據(jù)生成或ETL過程是按文件或目錄名來分段數(shù)據(jù)的

(5)分區(qū)列值不在數(shù)據(jù)本身

五、什么時候不使用分區(qū)

(1)避免把數(shù)據(jù)分區(qū)到很多小數(shù)據(jù)文件

不要對有太多惟一值的列進行分區(qū)

(2)注意:當(dāng)使用動態(tài)分區(qū)時容易發(fā)生

比如:按照fname來分區(qū)客戶表會產(chǎn)生上千個分區(qū)

  • Hive進行分區(qū)

在舊的Hive版本中,動態(tài)分區(qū)默認(rèn)沒有啟用 ,通過設(shè)置這兩個屬性啟用:

在Hive中如何實現(xiàn)數(shù)據(jù)分區(qū)

但是在hive分區(qū)中我們應(yīng)該注意一些問題,比如:

(1)注意:Beeline設(shè)置的Hive變量只在當(dāng)前會話有效,系統(tǒng)管理員可以設(shè)置永久生效

(2)注意:如果分區(qū)列有很多唯一值,將會創(chuàng)建很多分區(qū)

另外,我們可以給Hive配置參數(shù)來限制分區(qū)數(shù) :

(1)hive.exec.max.dynamic.partitions.pernode

查詢在某個節(jié)點上可以創(chuàng)建的最大動態(tài)分區(qū)數(shù),默認(rèn)100

(2)hive.exec.max.dynamic.partitions

一個HiveQL語句可以創(chuàng)建的最大動態(tài)分區(qū)數(shù) ,默認(rèn)1000

(3)hive.exec.max.created.files

一個查詢總共可以創(chuàng)建的最大動態(tài)分區(qū)數(shù),默認(rèn)1000000

   以上就是對Hive中進行數(shù)據(jù)分區(qū)做的分享。平時要多去掌握和了解,它對于大數(shù)據(jù)學(xué)習(xí)有著至關(guān)重要的作用。這里推薦“大數(shù)據(jù)cn”微信訂閱號,對于大數(shù)據(jù)的一些介紹還不錯,可以關(guān)注一下。

 

 

 

 

 

 


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI