為何柏克萊博士生開發的巨量資料處理系統能獲得Hadoop擁護者雅虎的青睞?

為何柏克萊博士生開發的巨量資料處理系統能獲得Hadoop擁護者雅虎的青睞?
http://feedly.com/k/18aAoqV

孕育Spark的加州大學柏克萊分校AMP實驗室. Photo: Ariel Zambelich/Wired

 

雖然現在的雅虎被許多人視為是「過氣」的網路巨擘,但靠著一批頂尖軟體工程師的幫助,雅虎在數據處理方面仍領先許多同業。

過去雅虎利用Hadoop的架構建立網頁索引資料庫運算,這個軟體平台在過去十年是最成功的開源架構,但現在雅虎也選擇琵琶別抱,開始使用有Hadoop風格但處理效能快百倍的分散式數據處理系統Spark。

雅虎工程師斯里哈沙(Ram Sriharsha)與加州大學柏克萊分校的資工人員合作,在龐大的數據中心內安裝新的數據運算平台Spark。根據他們的說法,Spark將非常有機會取代Hadoop在現代網路公司中的地位。

左為Matei Zaharia 。 Photo: Ariel Zambelich/Wired

 

Spark有何過人之處?

雅虎的新秘密武器幕後的靈魂人物是一位羅馬尼亞籍的柏克萊大學博士生扎利亞(Matei Zaharia),這位夥伴口中的「超級巨星」和「開源導師」一開始只是希望開發可以在開源軟體平台Mesos上執行的工具,但在團隊在扎利亞的主導下製作了一個更快、使用更方便的Hadoop系統──Spark。

Spark的訣竅之一是能把從數以千計伺服器中提取的數據存在記憶體子系統( memory subsystems)中,相較於Hadoop將資料存放在硬碟裡,從記憶體取得數據更為省時。

他們從頭開始改造Hadoop,不同一般過濾硬碟資料再存到記憶體裡的做法,扎利亞團隊直接在平台上進一步建造出數據分析工具增加資料過濾的效率。

過去,Hadoop必需與Storm(編按:用來分析即時性資料如Twitter上推文的系統)和分散式儲存系統Hive同時使用,但Spark可以直接模仿這些工具,賦予同套軟體無數可能性,其中一位研究人員辛湜(Reynold Xin)就用萬用瑞士刀來形容Spark,給了最佳註解。

同時,扎利亞團隊也希望改善Hadoop的Java語言編程模型,Spark可以支援Python和較新且適用開發跨平台程式的Scala語言,同時提供部分預先定義過的應用程式介面(API),讓寫程式更容易。

Spark將是巨量資料處理的未來?

不過Spark目前還不太可能取代Hadoop,原因是許多公司企業已經相當肯定目前的技術,再加上競爭者眾,例如Twitter就更屬意另一套系統Mesos,像Spark這類的平台不易打入,更不用說要取代Hadoop得要先打敗它相當龐大的普及率。

然而,雅虎雖然是入口網站,但他們與Google一樣都重視廣告業務,因此Spark這樣的平台再適合不過。

雅虎工程師斯里哈沙表示,Spark能夠很快判定哪個廣告適合哪位訪客;據辛湜表示,雅虎之所以特別對Spark感興趣是因為他很適合機器學習的演算法,機器學習牽涉到不斷分析同樣數據找出模式,也就是邏輯迴歸分析(logistic regression),而Hadoop每次運算就要訪問一次硬碟,執行起來非常耗時,「Hadoop機器學習的效果很差。」他如是說。

有人會說Google的數據處理仍領先雅虎和Spark,但他們的處理工具Dremel只獨厚Google本身,相較之下,Spark是開源工具人人可用。也許我們無法說Spark是巨量資料的未來,但開源絕對是!

shared via http://feedly.com

留言

這個網誌中的熱門文章

Google Phone跟iPhone的比較!?

我第一個Android程式上架了...