Apache Hive走向內存計算,性能提高26倍{轉}

Apache Hive 2.1已於幾個月前發佈,它引入了內存計算,這使得Hive計算性能獲得極大提高,這將會影響SQL On Hadoop目前的競爭局面。據測試,其性能提升約26倍。git

 

Apache Hive 2.1新引入了6大性能,包括:github

(1)LLAP。Apache Hive 2.0引入了LLAP(Live Long And Process),而2.1則對其進行了極大的優化,相比於Apache Hive 1,其性能提高約25倍;sql

(2)更魯邦的SQL ACID支持apache

(3)2X ETL性能提高。引入更智能的CBO(Cost Based Optimizer),更快的類型轉換以及動態分區優化;緩存

(4)支持存儲過程。加大簡化了從EDW遷移到Hive的流程。這是經過開源項目HPL/SQL(Apache開源協議,http://www.hplsql.org/)實現的,HPL/SQL的目的是爲Apache Hive,SparkSQL, Impala 以及其餘SQL-on-Hadoop 實現, 任何 NoSQL和 RDBMS增長存儲過程的實現;架構

(5)對文本格式數據增長向量化計算的支持;分佈式

(6)引入新的診斷和監控工具,包括新的HiveServer2 UI,LLAPUI和改進的Tez UI。工具

 

接下來詳細介紹對Apache Hive 2.1性能提高相當重要的優化:LLAP。LLAP是「Live Long and Process」的簡寫,它引入了分佈式持久化查詢服務,並結合經優化的數據緩存機制,可快速啓動查詢計算做業並避免無需的磁盤IO操做。簡而言之,LLAP是下一代分佈式計算架構,它可以智能地將數據緩存到多臺機器內存中,並容許全部客戶端共享這些緩存的數據,同時保留了彈性伸縮能力。oop

                           

相比於Hive 1 + Tez,Hive2+ Tez+LLAP性能提高約26倍,測試結果以下圖所示(測試結果是經過https://github.com/hortonworks/hive-testbench獲得的): 性能


Hive2 LLAP的引入,標誌着Apache Hive進入內存計算時代。總結起來,內存計算類型可分爲如下三類:

其中,Type1已被Apache hadoop生態系統證實其性能不會過高,於是Hive直接進入Type2,目前對Type2中全部特性均支持地很好,包括分佈式內存管理和優化,內存數據共享等。此外,Apache Hive正進一步優化性能,包括支持新型存儲介質Flash,擴展LLAP能力,使其能夠直接處理壓縮數據而無需事先解壓。

參考資料:

http://hortonworks.com/blog/announcing-apache-hive-2-1-25x-faster-queries-much/

http://hortonworks.com/blog/apache-hive-going-memory-computing/

相關文章
相關標籤/搜索