在討論大數(shù)據分析時,我們可能多次提到神話般的DevOps精神。我會引用一個虛構的人物,他在一家著名的互聯(lián)網公司工作——我們暫且叫它為TwittleBookOhBoy.com。我們將帶你進入該公司位于西海岸的實驗室。
這個人有能力編寫Java機器學習分類器,配置Hadoop集群——修了一下自己的自行車和喝了杯咖啡,然后再回去修改出錯的Python查詢,生成了一個關于拉脫維亞關鍵字趨勢的報告。這就是他一天的活動。
但是,Hadoop的發(fā)展歷史告訴我們,雖然與MapReduce編程相關的高級Java技能一定程度上能夠幫助組織提高數(shù)據處理效率,但是僅僅這些還不足以幫助組織實現(xiàn)全部目標。開發(fā)者們一直在忙于開發(fā)能從更高抽象層次上解決這個問題的工具,甚至其中有一位開發(fā)者還來自于伯克利。
等待SQL
Michael Fabacher是美國亞特蘭大Cardlytics公司負責數(shù)據架構與數(shù)據庫開發(fā)的副總裁,他的公司通過深入分析銷售點數(shù)據來生成針對于信用卡和借記卡用戶的零售與餐館推廣活動。最近我與他探討Hadoop之上的SQL話題時,我想到了要等待SQL。
Fabacher指責說:“我們在‘東海岸’,這里有很多精通SQL的人。”或許,他主要是針對于西海岸經常宣傳的Hadoop和DevOps精神。他的團隊在使用由MapR支持的Hadoop。另外,他們還使用MapR的Drill軟件支持Hadoop上使用SQL的應用程序。Drill是一種新型SQL風格工具,它遵循由Facebook最先提出的Hive技術的方式。Fabacher并沒有放棄這個諷刺,為了表示對西海岸頂尖開發(fā)者的不認同,F(xiàn)acebook的開發(fā)人員決定開發(fā)一個能夠幫助他們和同事使用SQL操作Hadoop數(shù)據的軟件。
他說:“Facebook的工程師非常優(yōu)秀,他們的時間不應該浪費在編寫MapReduce作業(yè)上。”他是對的。或許,DevOps和Hadoop的快速發(fā)展需要調整一下。
Dremel、Impala、Drill和Presto
很大程度上看,Hadoop之上的SQL始于Hive。它最早是由Facebook在2007年提出的;當時它成為了一個Apache開源項目。Hive能夠將一些SQL命令轉換為MapReduce作業(yè),從而去掉了一層復雜的編程。這個軟件擴大了Hadoop在Facebook及其他公司的使用,而且現(xiàn)在它已經成為所有Hadoop主流發(fā)行版的一部分。與MapReduce類似,它的血統(tǒng)源于Hadoop分布式文件系統(tǒng)(HDFS)的批處理作業(yè)。
451 Research分析師Matthew Aslett說:“如果了解Hive的起源就知道,它的目標是讓一些有能力編寫SQL查詢的人能夠操作HDFS。它就是將SQL技術集帶到Hadoop中。”從那時開始,Hive發(fā)展迅速。但是,同時也出現(xiàn)了許多新型工具。
這其中包括Impala、Drill和Presto,它們每一個都有一個企業(yè)贊助商(分別是Cloudera、MarR和Teradata),但是也提供了Apache軟件基金會開源授權版本。Aslett指出,這些工具在MapReduce發(fā)起者谷歌的Dremel計劃中占據重要位置,后者是一種在MapReduce上使用的SQL風格語言,關于它的介紹可以參見2010年發(fā)布的一篇谷歌技術論文。
要使用正確的工具
這些工具每一個都盡量不去執(zhí)行完長時間的批處理任務,而是提供高性能大數(shù)據分析交互性。有意思的地,Hive發(fā)明者Facebook也是Presto的發(fā)起者,這家公司于2012年首次在內部使用這個工具,然后它投資了Teradata將它開發(fā)成一個產品。
谷歌開發(fā)了Dremel,它的目標作為MapReduce的補充而非替代,以實現(xiàn)已抓取網頁文檔的規(guī)?;换ナ椒治?、跟蹤Android商店網站應用的安裝數(shù)據、谷歌產品的崩潰報表、廣告郵件分析等。
現(xiàn)在行業(yè)正在推進用SQL-on-Hadoop產品來替代原始MapReduce分析,這個舉措有一定的爭議性。有一些觀察人員可能會質疑,是否真有必要開發(fā)這些優(yōu)化工具,或者它們是否有一定的夸大因素。但是,這些工具的出現(xiàn)仍然引起了很大的關注——它們有許多都來自于一些重量級程序員,他們認同一個格言:要用正確的工具去做正確的事情。這些工具來自于真實需求。而且,即使是在TwittleBookOhBoy.com,DevOps也不是唯一的熱點;現(xiàn)在已經有一個大團隊,其中還有搭配合理的優(yōu)秀成員。