Spark大數(shù)據(jù)分布式計(jì)算框架得到數(shù)據(jù)工程師的極大關(guān)注,但是到目前為止它的吸引力僅限于此。但是,用戶認(rèn)為它有一個(gè)主要特性可以幫助它擴(kuò)大影響力:速度。
企業(yè)越來越多地使用自助分析應(yīng)用程序,它們變得很容易操作。簡(jiǎn)單易用通常是在組織范圍內(nèi)成功應(yīng)用的一個(gè)最大因素,但是在上周舊金山舉行的Spark Summit 2015大會(huì)上,這個(gè)計(jì)算框架的早期使用者指出,速度可能才是讓一線人員使用數(shù)據(jù)的最大賣點(diǎn)。
谷歌最近收購的智能調(diào)度服務(wù)制造商Timeful的副總裁Gloria Lau說:“它們必須快速失敗,它們必須迭代。它們要可視化,然后再失敗。迭代是最有價(jià)值的。你必須相信非工程師也才做得很好。”
雖然Spark可能要求較同的技術(shù)能力才能管理其后臺(tái)的集群,但是開源技術(shù)的前端用戶友好性相對(duì)較好。ApacheSpark帶有一個(gè)Spark SQL庫,它給用戶提供了查詢各種數(shù)據(jù)存儲(chǔ)的工具,包括使用SQL、Java和R分析語言,而開發(fā)者甚至可以開發(fā)在Spark上更加簡(jiǎn)單的前端應(yīng)用程序來使用這些工具。
內(nèi)存技術(shù)提升應(yīng)用速度
由于Spark在內(nèi)存中處理數(shù)據(jù),運(yùn)行在環(huán)境中的任何應(yīng)用都能受益于速度。它的發(fā)明者指出,它處理數(shù)據(jù)的速度要比MapReduce快100倍,后者是Hadoop原來的處理引擎,而且在內(nèi)存中運(yùn)行作業(yè)時(shí),Spark的速度相當(dāng)于在磁盤中運(yùn)行的10倍速度。
Lau指出,對(duì)于技術(shù)一般的用戶而言,這種速度是至關(guān)重要的。典型的數(shù)據(jù)用戶并不喜歡那些需要10分鐘才能處理完的作業(yè)。他們習(xí)慣了像谷歌這樣幾乎即時(shí)返回結(jié)果的查詢服務(wù)。
Lau說:“你想要的是普及數(shù)據(jù)。你希望所有人都能夠訪問數(shù)據(jù),然后形成他們自己的洞察力。速度是你現(xiàn)在唯一應(yīng)該關(guān)心的問題。”
豐田汽車美國銷售公司的高級(jí)數(shù)據(jù)科學(xué)家BrianKursar指出,Spark的速度幫助他和他的團(tuán)隊(duì)開發(fā)出廣泛使用的報(bào)表,它們可以量化豐田品牌在社交媒體中的公共認(rèn)知度。他們基于Spark的機(jī)器學(xué)習(xí)庫(MLlib)內(nèi)置的算法開發(fā)了一個(gè)機(jī)器學(xué)習(xí)應(yīng)用程序。但是,它也經(jīng)過了幾次迭代才達(dá)到較高的精確度。
Kursar指出,快速完成這個(gè)過程,然后交付一個(gè)精確的結(jié)果,這種能力在幫助項(xiàng)目獲得主管支持并將其結(jié)果應(yīng)用于實(shí)踐的過程中發(fā)揮著重要作用。
他說,“當(dāng)你在開發(fā)一個(gè)產(chǎn)品時(shí),你嘗試改進(jìn)模型的準(zhǔn)確性,這時(shí)計(jì)算能力和速度不高的技術(shù)會(huì)影響你的發(fā)揮。”
NASA使用Spark實(shí)現(xiàn)數(shù)據(jù)訪問
NASA噴氣推進(jìn)實(shí)驗(yàn)室的首席架構(gòu)師Chris Mattmann指出,他和他的團(tuán)隊(duì)正在開發(fā)一個(gè)基于Spark的數(shù)據(jù)處理系統(tǒng),它旨在幫助研究人員訪問存儲(chǔ)在分散文件系統(tǒng)中的數(shù)據(jù)。
NASA及其合作伙伴生成的許多科學(xué)數(shù)據(jù)位于不同的數(shù)據(jù)系統(tǒng)中,并且使用科學(xué)社區(qū)中專用的文件類型,一般的工具很難訪問這些數(shù)據(jù)。此外,訪問當(dāng)前數(shù)據(jù)存儲(chǔ)的研究人員在執(zhí)行處理作業(yè)時(shí)耗時(shí)很長(zhǎng),因?yàn)槊恳粋€(gè)查詢都需要從各個(gè)數(shù)據(jù)存儲(chǔ)中拉取數(shù)據(jù)。所有數(shù)據(jù)都不在內(nèi)存中。
但是,Spark的內(nèi)存處理功能使客戶端能夠給研究人員提供快速的數(shù)據(jù)訪問,無論他們使用哪一種前端工具都一樣。
Mattmann說:“我們應(yīng)該要能夠以交互試執(zhí)行這些查詢。它應(yīng)該能夠執(zhí)行ETL,然后自動(dòng)地將數(shù)據(jù)加載到內(nèi)存中。”