在過去幾年當(dāng)中,隨著Hadoop逐步成為大數(shù)據(jù)處理領(lǐng)域的主導(dǎo)性解決思路,原本存在的諸多爭(zhēng)議也開始?jí)m埃落定。首先,Hadoop分布式文件系統(tǒng)是處理大數(shù)據(jù)的正確存儲(chǔ)平臺(tái)。其次,YARN是大數(shù)據(jù)環(huán)境下理想的資源分配與管理框架選項(xiàng)。第三也是最重要的一點(diǎn),沒有哪套單一處理框架能夠解決所有問題。雖然MapReduce確實(shí)是一項(xiàng)了不起的技術(shù)成果,但仍然不足以成為百試百靈的特效藥。
依賴于Hadoop的企業(yè)需要借助一系列分析型基礎(chǔ)設(shè)施與流程以找到與各類關(guān)鍵性問題相關(guān)的結(jié)論與解答。企業(yè)客戶需要數(shù)據(jù)準(zhǔn)備、描述性分析、搜索、預(yù)測(cè)性分析以及機(jī)器學(xué)習(xí)與圖形處理等更為先進(jìn)的功能。與此同時(shí),企業(yè)還需要一套能夠滿足其實(shí)際需求的工具集,允許他們充分運(yùn)用目前已經(jīng)具備的各類技能及其它資源。就目前而言,并沒有哪種標(biāo)準(zhǔn)化單一處理框架足以提供這樣的效果。從這個(gè)角度出發(fā),Spark的優(yōu)勢(shì)恰好得到了完美體現(xiàn)。
盡管Spark還僅僅是個(gè)相對(duì)年輕的數(shù)據(jù)項(xiàng)目,但其能夠滿足前面提到的全部需求,甚至可以做得更多。在今天的文章中,我們將列舉五大理由,證明為什么由Spark領(lǐng)銜的時(shí)代已經(jīng)來臨。
1. Spark讓高級(jí)分析由理想變?yōu)楝F(xiàn)實(shí)
盡管多數(shù)大型創(chuàng)新型企業(yè)正在努力拓展其高級(jí)分析能力,但在最近于紐約召開的一次大數(shù)據(jù)分析會(huì)議上,只有20%的與會(huì)者表示目前正在企業(yè)內(nèi)部部署高級(jí)分析解決方案。另外80%與會(huì)者反映其仍然只具備簡(jiǎn)單的數(shù)據(jù)準(zhǔn)備與基本分析能力。在這些企業(yè)中,只有極少數(shù)數(shù)據(jù)科學(xué)家開始將大量時(shí)間用于實(shí)現(xiàn)并管理描述性分析機(jī)制。
Spark項(xiàng)目提供的框架能夠讓高級(jí)分析的開箱即用目標(biāo)成為現(xiàn)實(shí)。這套框架當(dāng)中包含眾多工具,例如查詢加速、機(jī)器學(xué)習(xí)庫、圖形處理引擎以及流分析引擎等等。對(duì)于企業(yè)而言,即使擁有極為杰出的數(shù)據(jù)科學(xué)家人才(當(dāng)然這一前提同樣很難實(shí)現(xiàn)),他們也幾乎不可能通過MapReduce實(shí)現(xiàn)上述分析目標(biāo)。除此之外,Spark還提供易于使用且速度驚人的預(yù)置庫。在此基礎(chǔ)之上,數(shù)據(jù)科學(xué)家們將被解放出來,從而將主要精力集中在數(shù)據(jù)準(zhǔn)備及質(zhì)量控制之外的、更為關(guān)鍵的事務(wù)身上。有了Spark的協(xié)助,他們甚至能夠確保對(duì)分析結(jié)果做出正確的解釋。
2. Spark讓一切更為簡(jiǎn)便
長(zhǎng)久以來,Hadoop面臨的最大難題就是使用難度過高,企業(yè)甚至很難找到有能力打理Hadoop的人才。雖然隨著新版本的不斷出爐,如今Hadoop在便捷性與功能水平方面已經(jīng)得到了長(zhǎng)足進(jìn)步,但針對(duì)難度的詬病之聲依然不絕于耳。相較于強(qiáng)制要求用戶了解一系列高復(fù)雜性知識(shí)背景,例如Java與MapReduce編程模式,Spark項(xiàng)目則在設(shè)計(jì)思路上保證了每一位了解數(shù)據(jù)庫及一定程度腳本技能(使用Python或者Scala語言)的用戶都能夠輕松上手。在這種情況下,企業(yè)能夠更順暢地找到有能力理解其數(shù)據(jù)以及相關(guān)處理工具的招聘對(duì)象。此外,供應(yīng)商還能夠快速為其開發(fā)出分析解決方案,并在短時(shí)間內(nèi)將創(chuàng)新型成果交付至客戶手中。
3. Spark提供多種語言選項(xiàng)
在討論這一話題時(shí),我們不禁要問:如果SQL事實(shí)上并不存在,那么我們是否會(huì)為了應(yīng)對(duì)大數(shù)據(jù)分析挑戰(zhàn)而發(fā)明SQL這樣一種語言?答案恐怕是否定的——至少不會(huì)僅僅只發(fā)明SQL。我們當(dāng)然希望能夠根據(jù)具體問題的不同而擁有更多更為靈活的選項(xiàng),通過多種角度實(shí)現(xiàn)數(shù)據(jù)整理與檢索,并以更為高效的方式將數(shù)據(jù)移動(dòng)到分析框架當(dāng)中。Spark就拋開了一切以SQL為中心的僵化思路,將通往數(shù)據(jù)寶庫的大門向最快、最精致的分析手段敞開,這種不畏數(shù)據(jù)與業(yè)務(wù)挑戰(zhàn)的解決思路確實(shí)值得贊賞。
4. Spark加快結(jié)果整理速度
隨著業(yè)務(wù)發(fā)展步伐的不斷加快,企業(yè)對(duì)于實(shí)時(shí)分析結(jié)果的需要也變得愈發(fā)迫切。Spark項(xiàng)目提供的并發(fā)內(nèi)存內(nèi)處理機(jī)制能夠帶來數(shù)倍于其它采用磁盤訪問方式的解決方案的結(jié)果交付速度。傳統(tǒng)方案帶來的高延遲水平會(huì)嚴(yán)重拖慢增量分析及業(yè)務(wù)流程的處理速度,并使以此為基礎(chǔ)的運(yùn)營活動(dòng)難于開展。隨著更多供應(yīng)商開始利用Spark構(gòu)建應(yīng)用程序,分析任務(wù)流程的執(zhí)行效率將得到極大提高。分析結(jié)果的快速交付意味著分析人士能夠反復(fù)驗(yàn)證自己的論斷,給出更為精確且完整的答案。總而言之,Spark項(xiàng)目讓分析師們將精力集中在核心工作上:更快更好地為難題找出解答。
5. Spark對(duì)于Hadoop供應(yīng)商選擇不設(shè)硬性要求
目前各大Hadoop發(fā)行版本都能夠支持Spark,其理由也非常充分。Spark是一套中立性解決方案,即不會(huì)將用戶綁定到任何一家供應(yīng)商身上。由于Spark屬于開源項(xiàng)目,因此企業(yè)客戶能夠分析地構(gòu)建Spark分析基礎(chǔ)設(shè)施而不必?fù)?dān)心其是否會(huì)受到某些Hadoop供應(yīng)商在特定發(fā)展思路方面的挾持。如果客戶決定轉(zhuǎn)移平臺(tái),其分析數(shù)據(jù)也能夠順利實(shí)現(xiàn)遷移。
Spark項(xiàng)目蘊(yùn)含著巨大的能量,而且已經(jīng)在短時(shí)間內(nèi)經(jīng)受住了考驗(yàn)、證明其有能力密切匹配大數(shù)據(jù)分析業(yè)務(wù)的實(shí)際要求。目前我們所迎來的還僅僅是“Spark時(shí)代”的開端。隨著企業(yè)越來越多地發(fā)揮Spark項(xiàng)目中的潛能,我們將逐步見證Spark在任意大數(shù)據(jù)分析環(huán)境下鞏固其核心技術(shù)地位,圍繞其建立起的生態(tài)系統(tǒng)也將繼續(xù)茁壯成長(zhǎng)。如果企業(yè)客戶希望認(rèn)真考量高級(jí)實(shí)時(shí)分析技術(shù)的可行性,那么將Spark引入自身大數(shù)據(jù)集幾乎已經(jīng)成為一種必然。