Spark:星星之火即將燎原
王家林, Spark亞太研究院院長和***專家,中國目前唯一的移動互聯網和云計算大數據集大成者,在Spark、Hadoop、Android等方面有豐富的源碼、實務和性能優化經驗。徹底研究了Spark從0.5.0到0.9.1共13個版本的Spark源碼,并已完成2014年5月31日發布的Spark1.0源碼研究。
王院長您好,據我們所知,Spark技術現在已經成為云計算大數據方向的熱點技術,在國內的應用也越來越廣泛,Spark亞太研究院作為Spark技術在國內的專業研究推廣機構,您能否介紹下Spark目前在業界的一個應用情況?
Spark是***一代的大數據處理框架,在數據統計分析、數據挖掘、流處理、圖技術、機器學習、誤差查詢等方面都有自己的技術,從我們的技術研究和長期業界觀察來看,Spark會成為大數據時代集大成的計算框架。
Spark技術在國內外的應用開始越來越廣泛,它正在逐漸走向成熟,并在這個領域扮演更加重要的角色。國外一些大型互聯網公司已經部署了Spark。例如:一直支持Hadoop的四大商業機構(Cloudera、MapR、Hortonworks、EMC)已紛紛宣布支持Spark;Mahout前一階段也表示,將不再接受任何形式以MapReduce實現的算法,同時還宣布了接受基于Spark新的算法;而Cloudera的機器學習框架Oryx的執行引擎也將由Hadoop的MapReduce替換成Spark;另外,Google也已經開始將負載從MapReduce轉移到Pregel和Dremel上;FaceBook也宣布將負載轉移到Presto上……而目前,我們國內的淘寶、優酷土豆、網易、Baidu、騰訊等企業也已經使用Spark技術在自己的商業生產系統中。
隨著2014年5月30日Spark 1.0.0的發布,Spark已經相對穩定,可以放心使用。
您能否介紹下Spark如何部署到生產環境?
對于Spark該如何部署到生產環境中,Spark是***一代大數據計算框架,使用時需要單獨部署集群,Spark集群部署方式主要有三種:Standalone、Yarn、Mesos。一般而言,在部署的時候都會基于HDFS文件存儲系統,所以,如果已經有Hadoop平臺,部署Spark就非常容易,只需在平臺上增加Spark功能即可。目前,國內企業淘寶使用的Spark就是基于Hadoop的yarn。當然也可以采用standalone和zookeeper的方式進行從無到有的構建Spark集群,這也是一種常見和理想的選擇,并且這種方式也是官方推薦的。
現在,談到云計算大數據話題的時候很多人還是多會提到Hadoop,對Spark了解的人還不是很多,如果企業有計劃要部署云計算大數據的話,那么如何做技術選型?
我的建議:如果企業以前沒有云計算大數據集群,選擇使用Spark要比Hadoop更為明智,原因是:首先,Hadoop本身的計算模型決定了它的所有工作都要轉化成Map、Shuffle和Reduce等核心階段,由于每次計算都要從磁盤讀或者寫數據,而且整個計算模型需要網絡傳輸,這就導致越來越難以忍受的延遲性。其次,Hadoop還不能支持交互式應用。
而Spark可以輕松應對數據統計分析、數據挖掘、流處理、圖技術、機器學習、誤差查詢等,且Spark的“One stack rule them all”的特性也導致部署的簡易性,省去多套系統部署的麻煩。
如果技術選型為Spark,那么,解決數據統計分析、實時流計算、數據挖掘基本只需要一個團隊即可,而如果采用Hadoop則需要不同團隊做處理每一項專門的技術,極大的增加人力成本。
另外,對于已經有Hadoop集群的公司而言,建議嘗試使用Spark技術,可以從Spark的Shark或者Spark SQL開始,推薦使用Spark的實時流處理和機器學習技術。
您怎么看待,中型企業的Spark應用?
Spark因其部署的簡易性和“One stack to rule them all”的特點,是大數據時代中型企業處理大數據的福音。例如,Yahoo!、淘寶、優酷土豆、網易、騰訊等國內大型知名企業已經在商業生產環境下開始使用Spark技術;Intel、IBM、Linkin、Twwitter等國外大型知名企業也都在大力支持Spark。隨著這些國內外大企業的使用,Spark技術的發展必然勢不可擋,行業普及很快就會到來,因此對于中型企業的使用和普及,只是時間問題。
中型公司如果要基于Spark進行部署,只需配備約5-20人的團隊,即可在Spark上做數據分析統計、機器學習、實施流處理計算等工作。
對于電信、金融等行業,使用Spark同樣勢不可擋。在數據統計分析方面,Spark比Hadoop快幾十倍,如果是使用內存表,Spark更是比Hadoop快100倍以上。同時Spark的實時流處理、機器學習、圖計算也非常高效,可以充分滿足電信、金融行業數據挖掘的需要。
我個人認為,作為唯一可以革命Hadoop并正在成為大數據計算框架霸主的Spark技術,由于其“One stack to rule them all”的特性(使用一個統一的技術堆棧解決了大數據處理生態系統中的流處理、圖技術、機器學習、NoSQL查詢等方面的技術問題),在2014年10月左右會在中國的需求有爆發之勢,這種需求包含企業使用Spark的需求和Spark人才的迫切需求,同時,這種需求將不限已經使用Spark的Yahoo!、淘寶、騰訊、網易等國內大型企業,還會包含很多中小企業。