天天看點

Hive Tunning(三) 最佳實踐

<b>在上一講的基礎上,我們來做來一個實際的例子來展示如何在實操中進行高效的hive查詢作業。</b>

我們建立一張外部表是為了初始化或者加載mapreduce或者pig作業産生的中繼資料,然後我們自己建立一張優化的表。

Hive Tunning(三) 最佳實踐

以下是兩個關于動态分區的參數:

所有節點的動态分區的最大數以及每個節點的動态分區的最大數

clustered 和sorted 使用都是同一個字段,它就是連接配接的時候需要使用的字段。

buckets也出現了,前面一直不了解的概念,現在出現了還分了24個。

語句中使用了前面教的自動分區的語句,按照年月自動分區。

Hive Tunning(三) 最佳實踐

hadoop fs-setrep-r –w 5 /apps/hive/warehouse/fact_pos

上面的指令當中是個hdfs中存數的fact_pos表增加備份,因為hdfs的資料是存得很分散的,增加備份因為會使得節點上的資料增多,然後查詢的時候,hive

從本地直接就可以擷取到的資料的幾率提高,增快查詢速度。

當然考慮到空間的問題,可以減少一下備份的數量。

上述流程我們也可以把它放到oozie中自動執行。

Hive Tunning(三) 最佳實踐

。。。又一個熟悉的詞出現了。

在hdfs-site.xml或者ambari settings for hdfs, 設定完要重新開機。 

Hive Tunning(三) 最佳實踐

開啟了這個東東有什麼作用呢?當資料塊在本地的時候,它可以不需要開啟一個端口來讀,可以直接通路,就像圖中的閃電那樣。

查詢之前先對查詢設定相應的運作參數。