Stinger Initiative:讓Hive提速100倍
自從2007年Facebook提出Apache Hive和HiveQL后,他們已經(jīng)成為事實(shí)上的Hadoop上的SQL接口。如今,各種類型的大公司或小公司都在使用Hive這中非常普遍的方法來(lái)訪問(wèn)Hadoop數(shù)據(jù),從而給公司或者用戶帶來(lái)更多的價(jià)值。同時(shí),還有許多公司通過(guò)大量已存的BI工具生態(tài)系統(tǒng)來(lái)達(dá)到相同的目的,這些BI工具同樣使用Hive作為接口。
最初,Hive用于建立大規(guī)模的成批計(jì)算,這在數(shù)據(jù)報(bào)告、數(shù)據(jù)挖掘以及數(shù)據(jù)準(zhǔn)備等應(yīng)用場(chǎng)景很有效。這些應(yīng)用場(chǎng)景很重要,但是Hadoop的需求十分廣闊,企業(yè)用戶越來(lái)越需要Hadooop具備更高的實(shí)時(shí)性和交互性。在Hortonworks,我們相信開源社區(qū)的創(chuàng)新力要超過(guò)任何一個(gè)專有的提供商,Stinger initiative再次證明了這一點(diǎn),我們會(huì)聯(lián)合(社區(qū))伙伴一起提升Hive的性能。
什么是Stinger Initiative?
能讓Hive回答問(wèn)題的速度滿足普通人(例如一個(gè)問(wèn)題的返回時(shí)間在5-30秒),如大數(shù)據(jù)探索、可視化、參數(shù)化報(bào)告等場(chǎng)景,而且并不依賴其它工具,并分發(fā)到用戶社區(qū),可以很好的維護(hù)企業(yè)原有的投資和開發(fā)者的Hive技能。

圖:Stinger Initiative的roadmap
為此,我們發(fā)布了Stinger Initiative,并進(jìn)入社區(qū)進(jìn)行分享,為的是讓Hive支持更多SQL,并實(shí)現(xiàn)更好的性能。一直以來(lái),HiveQL都沒(méi)有什么變化,而這次HiveQL將變得更強(qiáng)大。同時(shí),與現(xiàn)有的工具保持一致形成***的互補(bǔ)。
首先,我們讓Hive與人們?cè)贖adoop上想要的查詢想匹配。這包括增加類似OVER子句的分析功能,支持WHERE子查詢,以及調(diào)整Hive的樣式系統(tǒng)更多的符合標(biāo)準(zhǔn)的SQL模型。
其次,我們優(yōu)化了Hive的請(qǐng)求執(zhí)行計(jì)劃,我們內(nèi)部某些測(cè)試結(jié)果顯示,優(yōu)化后的請(qǐng)求時(shí)間減少了90%。我們也著眼于在Hive執(zhí)行引擎中增加一些改動(dòng),我們確信這可以增加單一Hive task每秒鐘處理記錄的數(shù)量。
第三,我們?cè)贖ive社區(qū)中引入了新的列式文件格式(如ORC文件),提供一種更現(xiàn)代、高效和高性能的方式來(lái)儲(chǔ)存Hive數(shù)據(jù)。
***,我們引入了一種新的runtime框架—— Tez,它的目標(biāo)是消除Hive的延遲以及吞吐量限制。Tez通過(guò)消除不必要的task、障礙同步和對(duì)HDFS的讀寫作業(yè)來(lái)優(yōu)化Hive job。這將優(yōu)化Hadoop內(nèi)部的執(zhí)行鏈,徹底加速Hive負(fù)載處理。
所有這些對(duì)Hive的調(diào)整仍在公開的進(jìn)行中,內(nèi)部預(yù)覽版將在今年三月舉行的由Hortonworks主辦的Hadoop大會(huì)上公開。
擁抱社區(qū)和Hive
許多不同的團(tuán)隊(duì)在Hive社區(qū)貢獻(xiàn)著他們成果。來(lái)自SAP的Harish Butani的團(tuán)隊(duì)負(fù)責(zé)為Hive增加一個(gè)分析和數(shù)據(jù)窗口函數(shù)。這個(gè)函數(shù)將增加到OVER子句中用于已經(jīng)存在的聚集函數(shù),就像RAND、NTILE和LEAD、LAG等函數(shù)一樣, 這里可以看到詳細(xì)的說(shuō)明。Facebook的Namit Jain已經(jīng)花了大量時(shí)間來(lái)優(yōu)化Hive的查需執(zhí)行計(jì)劃,這讓Join等操作變的更高效,并減少來(lái)自用戶的提示。Hortonworks已經(jīng)參與到這些項(xiàng)目中。
Owen O’Malley,Hortonworks聯(lián)合創(chuàng)始人,早期的Hadoop的開發(fā)者,已經(jīng)在Facebook為ORC文件格式進(jìn)行了大量工作,這項(xiàng)工作將幫助提升Hive讀、寫、處理數(shù)據(jù)的性能,在 這里可以看到詳情。我們還在為一些更長(zhǎng)遠(yuǎn)的目標(biāo)工作,如重寫Hive的運(yùn)算符來(lái)處理上千的記錄,其效率和現(xiàn)在相比將有大幅提升。
為什么要重新造輪子呢?






























