在極短的時(shí)間內(nèi),Apache Spark 迅速成長(zhǎng)為大數(shù)據(jù)分析的技術(shù)核心。這就使得保守派擔(dān)心在這個(gè)技術(shù)更新如此之快的年代它是否會(huì)同樣快的被淘汰呢。我反而卻堅(jiān)信,spark僅僅是嶄露頭角。
在過(guò)去的幾年時(shí)間,隨著Hadoop技術(shù)爆炸和大數(shù)據(jù)逐漸占據(jù)主流地位,幾件事情逐漸明晰:
對(duì)所有數(shù)據(jù)而言,Hadoop分布式文件系統(tǒng)(HDFS)是一個(gè)直接存儲(chǔ)平臺(tái)。
YARN(負(fù)責(zé)資源分配和管理)是大數(shù)據(jù)環(huán)境下一個(gè)適用的架構(gòu)。
或許是最為重要的一點(diǎn),目前并不存在一個(gè)能解決所有問(wèn)題的框架結(jié)構(gòu)。盡管MapReduce是一項(xiàng)非常了不起的技術(shù),但是它仍不能解決所有問(wèn)題。
然而,Spark卻可以解決大數(shù)據(jù)時(shí)代中很多關(guān)鍵問(wèn)題,推動(dòng)大數(shù)據(jù)以驚人的速度發(fā)展。這就是盡管其還很年輕,我們的“Big Data Discovery”平臺(tái)依舊使用Apache spark 作為底層技術(shù)來(lái)處理和分析大數(shù)據(jù)的原因。
Spark時(shí)代即將到來(lái)
在尋找關(guān)鍵問(wèn)題的答案時(shí),基于Hadoop的架構(gòu)需要調(diào)用的多種基礎(chǔ)設(shè)施和進(jìn)程來(lái)進(jìn)行分析。他們需要已有的數(shù)據(jù),描述性的分析,搜索和更先進(jìn)的技術(shù),如機(jī)器學(xué)習(xí),甚至是圖形處理。
公司需要這樣一個(gè)工具,該工具可以讓他們充分利用現(xiàn)有技術(shù)和資源。至今,尚未存在可以滿(mǎn)足上述所有標(biāo)準(zhǔn)的單一處理框架結(jié)構(gòu)。然而,這卻是 Spark的最為基本優(yōu)勢(shì),為處理大數(shù)據(jù)業(yè)務(wù)的公司提供跨越六個(gè)關(guān)鍵領(lǐng)域的技術(shù)支持。
1.高級(jí)分析
許多大型的創(chuàng)新性公司正在尋求增強(qiáng)他們的高級(jí)分析能力。然而,在最近紐約的一次大數(shù)據(jù)分析會(huì)議中,只有20%的參與者表示目前正在公司里部署高級(jí)分析。
剩下的80%表示他們正忙于準(zhǔn)備數(shù)據(jù)和提供基本分析。少數(shù)科學(xué)家花費(fèi)了大量時(shí)間來(lái)實(shí)施和管理描述分析。Spark為高級(jí)分析提供了一個(gè)開(kāi)箱即用的框架,包括加速查詢(xún)工具,機(jī)器學(xué)習(xí)庫(kù),圖形處理引擎和流分析引擎。
與MapReduce試圖實(shí)現(xiàn)這些分析相比——MapReduce幾乎不可能實(shí)現(xiàn),甚至說(shuō)很難找到此類(lèi)數(shù)據(jù)科學(xué)家——Spark提供了更容易且更快上手的預(yù)編譯庫(kù)。這就使得數(shù)據(jù)科學(xué)家可以把任務(wù)放在準(zhǔn)備數(shù)據(jù)和保障數(shù)據(jù)質(zhì)量之外了。通過(guò)Spark他們甚至可以確保分析結(jié)果的正確解釋。
2.簡(jiǎn)化
最早對(duì)Hadoop的批評(píng)不僅僅是它很難使用,而是更難找到會(huì)使用它的人。盡管進(jìn)過(guò)后續(xù)的迭代后,它變的更加簡(jiǎn)化和強(qiáng)大,但抱怨聲至今未息。
相對(duì)于要求用戶(hù)理解各類(lèi)復(fù)雜的情況,例如Java和MapReduce編程模式,凡具有一些數(shù)據(jù)庫(kù)基本知識(shí)和一些腳本技能(在Python或者Scala)均可以使用Spark。對(duì)于企業(yè)而言,能夠更容易的找到理解數(shù)據(jù)并使用工具處理數(shù)據(jù)的工程師。對(duì)供應(yīng)商而言,我們可以在Spark的上層有所發(fā)展并給企業(yè)帶來(lái)更快的創(chuàng)新。
3.多種語(yǔ)言
SQL 語(yǔ)言無(wú)法應(yīng)對(duì)大數(shù)據(jù)分析的面臨的所有挑戰(zhàn),至少但依靠它是無(wú)法應(yīng)對(duì)的。因此我們需要在解決這個(gè)問(wèn)題上保持更多的靈活性,在組織和檢索數(shù)據(jù)中應(yīng)有更多的選項(xiàng),并能快速的將其移動(dòng)到另一個(gè)分析框架中。
Spark保留了SQL語(yǔ)言的模式,采用最快最簡(jiǎn)潔的方式進(jìn)行數(shù)據(jù)分析,不管是什么類(lèi)型的數(shù)據(jù)。
4.更快的結(jié)果
隨著商業(yè)業(yè)務(wù)的不斷加快,所以對(duì)實(shí)時(shí)結(jié)果的要求是十分必要的。在內(nèi)存處理上,Spark提供了并行處理的方式使得返回的結(jié)果比其他任何其他訪(fǎng)問(wèn)磁盤(pán)的方法快了幾倍。實(shí)時(shí)結(jié)果去掉延遲后可以顯著的減緩商業(yè)進(jìn)程和增量分析。
供應(yīng)商開(kāi)始在sparkj上開(kāi)發(fā)應(yīng)用程序,在工作流程分析上將會(huì)出現(xiàn)巨大的進(jìn)步。加速周轉(zhuǎn)時(shí)間意味著分析師可以迭代工作,使得答案更加完整精確。Spark讓分析師去做他們的本職工作--——更快且好的尋求答案。
5.不歧視或偏愛(ài)的Hadoop供應(yīng)商
Spark兼容現(xiàn)行所有的Hadoop版本,并有很好的緣由:它是中立的供應(yīng)商,這意味著它不需要用戶(hù)去綁定任何特定的供應(yīng)商。
由于Spark的開(kāi)源特性,企業(yè)可以自由創(chuàng)建基于Spark析基礎(chǔ)設(shè)施而不用擔(dān)心會(huì)其他事情發(fā)生什,即便他們改變Hadoop供應(yīng)商。如果他們做了什么改變,分析架構(gòu)也會(huì)隨之變化。
6.高增性
Apache Spark在極短的時(shí)間內(nèi)取得極大的增長(zhǎng)。到2014年為止,Spark在 Daytona Gray Sort 100TB Benchmark.中世界第一。不管是服務(wù)、產(chǎn)品抑或技術(shù)一旦被迅速關(guān)注后,人們通常急于將其搞清楚——如何抑制其炒作,揭示其缺陷或揭穿其的承諾。但根據(jù)最近的一項(xiàng)調(diào)查顯示,人們對(duì)Spark的關(guān)注仍在增長(zhǎng)。
覆蓋超過(guò)2100產(chǎn)品開(kāi)發(fā)人員的報(bào)告顯示,71%的受訪(fǎng)者有過(guò)Spark框架開(kāi)發(fā)經(jīng)驗(yàn)。如今,它已經(jīng)擁有多達(dá)500多個(gè)不同規(guī)模的組織,成千上萬(wàn)的開(kāi)發(fā)者和廣泛的資源項(xiàng)目參與其中。Spark作為大數(shù)據(jù)分析的基本技術(shù)之一尚未確定自身的地位,但它已著手去做。換句話(huà)說(shuō),這僅僅只是開(kāi)始。