【導語】“大數據不是炒作,也不是泡沫。Hadoop在未來將繼續追隨谷歌的腳步。”Hadoop的創造者兼Apache Hadoop項目創始人Doug Cutting近日表示。
作為一個批處理計算引擎,Apache Hadoop是大數據核心的開源軟件框架。有一種說法是,Hadoop并不適用于真正實時數據可見性所需要的在線互動數據處理。事實是這樣的嗎?Hadoop的創造者兼Apache Hadoop項目創始人(現任Cloudera公司首席架構師)Doug Cutting說:“相信Hadoop擁有一個超越批處理的未來。”
Hadoop的創造者兼Apache Hadoop項目創始人、Cloudera公司首席架構師 Doug Cutting
“批處理有其用武之地。例如,你需要移動大量數據并分析所有數據的時候。但我仍認為,人們真正想要的是批處理和在線計算的結合體。Hadoop將會成為企業未來主流數據處理系統的內核。” Cutting說。
Hadoop行至何處?
在剛剛結束的Strata Conference+Hadoop World會議上,Cutting解釋了Hadoop堆棧的核心思想,以及其未來的發展方向。“Hadoop被看作是一個批處理計算引擎,事實上,這是我們開始的地方(結合MapReduce)。MapReduce是一個很棒的工具,目前市場上有很多關于如何在MapReduce上部署各種算法的書籍。”Cutting說。
MapReduce是一個編程模型,由谷歌公司設計,用于使用分布式計算批量并行處理海量數據。MapReduce得到一個輸入,然后將其分成很多更小的子問題,這些問題被分配到不同節點來并行處理。然后,它們重新組合子問題的答案以形成輸出。
“這是非常有效的,”Cutting表示,“它允許你把計算移向數據。這樣一來,當你處理數據時就不需要到處復制數據,并且它還形成了一個共享平臺。構建分布式系統是一個復雜的過程,所以我們不希望反反復復重新部署它。MapReduce被證明是一個堅實的基礎,依托MapReduce開發出了很多工具,例如Pig和Hive。”
Hadoop關鍵特性
為了證明Hadoop大數據平臺的通用性,Cutting描述了他所認為的Hadoop的兩個核心主題。首先,Hadoop平臺具有很好的可擴展性,不僅適用于存儲在內存中的小數據集,還能夠擴展到處理龐大的數據集。
“評估可擴展性的一個關鍵因素是經濟承受能力。我們在通用硬件平臺上運行是因為它允許你進一步地擴展。如果你可以購買10倍的存儲量,那么就可以存儲10倍的數據量。所以,經濟承受能力是關鍵,這也是我們使用通用硬件的原因,因為它是最經濟實惠的平臺。”Cutting說。
Hadoop另一個關鍵特性在于開源。Cutting指出,開源軟件是非常實惠的。開發者可以向供應商付費,但是為了他們所提供的價值而付費。開發者不需要年復一年地付費,隨著時間的推移,供應商需要通過向你提供價值來贏得開發者的信任和信心。此外,對于Hadoop而言,用戶可以以原始的形態保存數據,然后,當你使用數據時,再使用不同的模式。
大數據領域另一種流行的做法是,在通常情況下,與更聰明的算法相比,分析更多的數據能夠幫助你更好地了解你的問題。也就是說,你應該花更多的時間來收集數據,而不是調整較小數據集所采用的算法。直觀地說,這很像是具有更高分辨率的圖像,如果你試圖分析圖片,你應該選擇放大高分辨率圖片,而不是低分辨率圖像。
Cutting還指出,批處理并不算是Hadoop的典型特性。例如,仿效谷歌BigTable的HBase是Hadoop堆棧的一部分,它已經成為非常成功的開源非關系型分布式數據庫。HBase是一個在線計算系統,而不是批處理計算系統。
“HBase也支持批處理,它與HDFS以及Hadoop堆棧的其他組件共享存儲。我認為這也是HBase如此受歡迎的原因之一。HBase被整合到系統的其他部分中,而不是成為一個獨立的系統。它可以與堆棧的其他組件進行共享,可以對可用性、安全性和災難恢復等特性進行共享。”Cutting解釋說。
技術未來展望
如果Hadoop不僅僅是批處理計算平臺,而是成為一個更為通用的數據處理平臺,它將會變成什么樣,它到底將走向何方?Cutting表示,我們當然希望擁有開源的大數據平臺,并且能夠在通用硬件上運行。同時,我們還希望它具有線性擴展能力,也就是說,如果你需要存儲10倍數據,只需要購買10倍的硬件就可以了。無論你的數據集變得有多大,都可以采用這樣的方式進行擴展。
性能方面同樣是如此。對于批處理性能,如果你需要更大的批處理吞吐量或更小的延遲,你只需要增加硬件數量即可。而對于交互式查詢,也是同樣。增加硬件就能為你帶來性能和數據處理量級方面的線性擴展。Cutting還表示:“人們通常會認為,采用大數據平臺后,需要放棄某些東西。我不這樣認為的。從長期來看,我們不需要放棄任何的功能。”
對于Hadoop未來的技術發展方向,Cutting表示谷歌已經給出了相關路線圖。“谷歌發布GFS和MapReduce的論文后,我們很快地將其復制到Hadoop項目中。這些年以來,谷歌在很多方面激勵著Hadoop開源堆棧。谷歌的Sawzall系統催生了Pig和Hive,而BigTable則直接啟發了HBase。我很激動地看到,今年谷歌發表了名為Spanner的論文,其中介紹了在分布式數據庫系統實現傳輸的機制。可能很多人都會認為這不會很快成為現實,但卻為我們指明了前進的方向。”Cutting說。
Cutting指出,作為一項復雜技術,Spanner并不會很快成為Hadoop的一部分,但它確實明確了技術發展的方向。他同時還提到了Impala(Cloudera最新發布的數據庫引擎),它可以使用SQL查詢存儲在HBase中的數據集。Impala將為用戶帶來交互式在線查詢的新體驗,它同樣追隨了谷歌的一些研究成果,已經發布了一段時間。Cutting認為,Impala將發展成為一個通用的技術平臺。
“我們已經知曉前進方向,并且知道如何去實現目標。所以,我鼓勵大家現在就開始使用Hadoop,因為在未來你將收獲更多。”Cutting說。