版本: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檔案内容:
(截圖的内容為輸出,複制到代碼塊裡面有問題)
2. employees_ext 表導入employees_orc表:
運作:hive -f employees_ext-to-employees_orc.sql,其部分log如下:
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位址: