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中出現了語法錯誤的查詢。查詢時間採用相同的計量標準。
運行時間比較:
impala中一些查詢運行時間超過30分鐘,而HIVE中不到1分鐘。
比較在給定時間內完成查詢的數量:
在30秒內impala稍微具有優勢,但隨時間的增加,HIVE的查詢完成數量始終保持領先。這表明Impala在不太複雜的查詢中表現良好,但隨着查詢複雜性的增加而變得困難。另一方面,隨着LLAP的引入,Hive在簡單查詢中獲得了良好的性能,同時保留了在複雜查詢方面表現良好的能力。
綜上所述,隨着越來越多的應用部署於Hadoop之上,越來越多的複雜查詢需求也隨之產生,也伴隨着成本的增加。HIVE LLAP降低了交互式SQL查詢的成本,保證了複雜查詢的性能,簡化了查詢架構。在該應用中優於impala。