HIVE2.1 vs impala

HIVE2.0增加了LLAP(低延遲分析處理),並在2.1版本進行了改進,相較於HIVE 1有了25倍的查詢性能提升。LLAP以多線程方式採用內存進行計算。智能地將數據緩存到多臺機器內存中,並允許所有客戶端共享這些緩存的數據,同時保留了彈性伸縮能力。詳見官網

  • LLAP採用緩存持久化查詢來避免較長的啓動時間;
  • 內存查詢,並在所有SQL用戶之間共享;
  • 細粒度的資源管理和佔有,適合多用戶高併發操作;

Carter Shanklin & Nita Dembla將其與另外一個SQL on Hadoop 查詢引擎impala進行了比較

環境:相同硬件和數據集。其中impala通過CDH5.8版本引入,impala版本爲2.6.0,Impala的運行時過濾功能已針對此測試中的所有查詢啓用。

數據集: HIVE在ORC格式下效果最好,impala在Parquet格式下效果最好,所以impala採用Parquet格式,採用snappy壓縮。採用相同的分區方式。

查詢:impala本意設計爲與HIVE高度兼容,但是由於SQL奇偶校驗問題,impala中出現了語法錯誤的查詢。查詢時間採用相同的計量標準。

運行時間比較
image
impala中一些查詢運行時間超過30分鐘,而HIVE中不到1分鐘。

比較在給定時間內完成查詢的數量
image
在30秒內impala稍微具有優勢,但隨時間的增加,HIVE的查詢完成數量始終保持領先。這表明Impala在不太複雜的查詢中表現良好,但隨着查詢複雜性的增加而變得困難。另一方面,隨着LLAP的引入,Hive在簡單查詢中獲得了良好的性能,同時保留了在複雜查詢方面表現良好的能力。

綜上所述,隨着越來越多的應用部署於Hadoop之上,越來越多的複雜查詢需求也隨之產生,也伴隨着成本的增加。HIVE LLAP降低了交互式SQL查詢的成本,保證了複雜查詢的性能,簡化了查詢架構。在該應用中優於impala。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章