天天看點

hive實踐(hive0.12)

版本:cdh5.0.0+hadoop2.3.0+hive0.12

一、原始資料:

1. 本地資料

2. hdfs資料:

二、建立hive表:

1.hive外部表:

建立表,用戶端運作 :hive -f employees_ext.sql

2. hive表

建立表,用戶端運作:hive -f employees.sql

3. hive表(orc方式存儲)

運作:hive -f employees_orc.sql

三、導入資料:

1. employees_ext 表導入employees表:

運作:hive -f employees_ext-to-employees.sql,其部分log如下:

檢視hdfs檔案大小:

檢視hdfs檔案内容:

hive實踐(hive0.12)

(截圖的内容為輸出,複制到代碼塊裡面有問題)

2. employees_ext 表導入employees_orc表:

運作:hive -f employees_ext-to-employees_orc.sql,其部分log如下:

hive實踐(hive0.12)

3. 比較兩者性能

時間

壓縮率

employees表:

186.7秒

13571615/13245660=1.0246

employees_orc表:

53.0秒

1432903/13245660=0.108

時間上來說,orc的表現方式會好很多,同時壓縮率也好很多。不過,這個測試是在本人虛拟機上測試的,而且是單機測試的,是以參考價值不是很大,但是壓縮率還是有一定參考價值的。

四、導出資料

1. employees表:

運作:hive -f export_employees.sql

部分log:

資料檢視:

2. employees_orc表:

運作 hive -f export_employees_orc.sql

檢視資料:

這裡的資料和原始資料的大小不一樣,原始資料是13245467, 而導出到本地的是13978615 。這是因為資料的精度問題,例如原始資料中的0都被存儲為了0.0。

分享,成長,快樂

轉載請注明blog位址:

繼續閱讀