標籤:

大數據那些事(26):你還愛我嗎之Stinger的努力

上期我們講了Impala,這個Hadoop批發商Cloudera推出來的有若干年頭的,但卻沒有從Apache畢業的Hadoop上的數據查詢分析系統。在這場戰爭里,當然不僅僅是Cloudera在戰鬥。今天我們來看看另外一個Hadoop批發商Hortonworks。

Hortonworks基本上就是Yahoo里的Hadoop團隊減去被Cloudera挖走的Doug Cutting, Hadoop的創始人。這個團隊的人做了不少東西,最初的HDFS和Hadoop MapReduce, ZooKeeper,以及Pig Latin。

HIVE 作為Hadoop上的SQL隨著Hadoop的發展而風生水起。原來在Facebook里寫HIVEd團隊則漸漸的開始不再怎麼工作,越來越拋棄HIVE了。爹不親娘不愛的HIVE也有過可憐的時候。

但是HIVE實在是慢。應該說Hadoop MapReduce實在是慢。於是在Google的Dremel出來之後,在更高更快更強的目標驅動下,Hortonworks喊出了Make Apache Hive 100x Faster的口號。這就是著名的the Stinger Initiative。

Hortonworks本來是一個發明了Pig的公司。Pig是它們的親兒子。現在他們作為一個新成立的公司,不像Cloudera或者MapR那樣另起爐灶,卻決定投入HIVE的懷抱,要把乾兒子給捧起來,這畫面不要太美。只是可憐了爹不親娘不愛的Pig,最終只能是越來越衰敗。一個寫了Pig的公司,卻要靠HIVE來活下去,不得不說是個很有意思的事情。這群人當初是不是長了Pig的腦子,所以才寫出了Pig這個奇怪的東西,發明了Latin這種東西。只有一點看來是對了,就是給這個他們發明的語言取的名字。

Hortonworks的想法其實很簡單,再造個車子不如修修車子然後刷個漆,順便名正言順的把自己變成爹媽。如果你去看2012年的HIVE PMC的成員,再看今天的,這個世界大變樣了。2012年的時候Hortonworks還在努力為他們能塞進一兩個PMC member而奮鬥,如今的HIVE大半是Hortonworks的,小半是Cloudera的,這麼多年來的努力沒白費,總算把自己弄成HIVE的爹媽了。

Stinger具體到底做什麼,其實一張圖就可以說明了。下圖是Hortonworks發布出來的三階段的活來提高HIVE:

到今天來看,這三個階段的活基本上都做了。ORCFile已經成為了Apache的頂級項目,在和競爭對手Parquet競爭。比較奇葩的是Impala是少數幾種不支持ORC格式的查詢語言。而更有意思的是Facebook作為HIVE的親爹,則是早早的上了ORC這條賊船。公平一點來說,ORC的表現並不比Parquet差。但是一個阿帕奇居然還有兩個頂級的Column store的格式,也是奇了怪了。

Tez作為一個有向無環圖的執行引擎也已經成為了Apache的頂級項目,HIVE裡面對於Tez的支持也做進去了。至於YARN這個資源管理器,現在也是Apache的頂級項目了。雖然說Impala自己並不喜歡YARN,它們自己在中間搞了一層。

無論如何來說,這些活,包括那個optimizer,包括pre-warmed container陸陸續續都做出來了,有些是2016年才最後進去的。但是實際的結果大家也看到了, HIVE有100x的速度嗎?顯然沒有。如果有的話,那今天還要Impala Drill之類的鬼幹嘛呢,HIVE早就應該一統江湖千秋萬代了。

無論如何,HIVE的提速都離不開Hortonworks這個乾爹的辛苦和努力,HIVE作為一個沒有了親爹的產品,又被乾爹給罩著,日子過得不要太開心。而那個被親爹拋棄的取名叫Pig的東西估計只能在黯然神傷的問Hortonworks,爹,你還愛我嗎?

推薦閱讀:

Azkaban入門篇

TAG:大数据 | Hadoop |