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