Apache Spark開源生態系統在2014上半年大幅增長,已迅速成為大數據領域中最活躍的開源項目,HDFS位列第二,其代碼變動次數(commits)和行數僅僅有Spark的一半:
隨著1.0版本于5月30日推出,Spark提供了一個穩定的API,開發人員可以依靠它來保證代碼的兼容性。所有主流的Hadoop發行商,包括Hortonworks、IBM、Cloudera、MapR和Pivotal都提供了Spark的包裝和技術支持。
會議第三日培訓
伴隨著Spark平臺的發展,Spark Summit 2014于6月30日在舊金山正式展開為期三天的峰會,也是有史以來最大的Spark會議。
在這篇文章中,我們將一同回顧這次峰會的亮點。
1. Spark創始人、Databricks CTO Matei Zaharia:Spark在大數據領域的角色
Matei Zaharia在加州大學伯克利分校AMPLab博士生涯的時候設計和編寫了第一個版本的Spark,在圓滿完成博士生涯后,目前是Databricks公司的CTO,并將在麻省理工學院出任助理教授職位。Matei是此次峰會的第一個演講人,他首先回顧了Spark在社區規模和技術能力上的最新進展。自2013年12月的首次Spark Summit以來,Spark的開源貢獻者已經從100位增加至250+,已成為大數據領域最活躍的開源項目。Spark新增了一些重要的組件,如Spark SQL運行機制,一個更大的機器學習庫MLLib,以及豐富的與其它數據處理系統的集成。關于Spark在大數據領域未來角色,Matei設想Spark很快會成為大數據的統一平臺,各種不同的應用,如流處理,機器學習和SQL,都可以通過Spark建立在不同的存儲和運行??系統上。
2. Databricks聯合創始人Patrick Wendell:展望Spark的未來
Patrick Wendell是Apache Spark的項目管理會成員,曾在伯克利分校攻讀博士學位,與2013年離開伯克利幫助創建了Databricks。目前他在Databricks從事開源管理工作,在技術上側重于Spark和網絡操作系統的關系。在這個演講中,Patrick回顧了Spark的快速增長,他強調Spark的未來將提供由各領域的專家領導開發的強大的程序庫。為了實現這一目標,他闡述了應該采用的發布流程和節奏,以提供完整的互操作性與穩定的版本,同時支持快速的開發。各種程序庫應與Spark核心API高度策劃和整合在一起。Spark核心會不斷改進,以推動未來的創新。Patrick講解了現有的主要Spark庫和它們各自的發展方向,包括支持結構化數據的Spark SQL、Spark Streaming、用于機器學習的MLLib以及SparkR和GraphX??。
1. Databricks CEO Ion Stoica:Databricks公司的進展和產品發布
Databricks CEO Ion Stoica
Ion Stoica是Databricks公司的CEO。他是加州大學伯克利分校計算機科學系的教授,并與2013年參與創辦了Databricks。Ion首先闡述了Databricks公司為推進Spark在工業界的應用所采取的兩個措施。
Ion主題演講的重點是推出Databricks Cloud。Ion列舉了當前從數據到價值過程中的種種障礙,Databricks Cloud的推出就是為了使大數據容易。Databricks Cloud能夠使用戶方便的創建數據處理的整個流程,同時支持Spark現有的應用,并加入了許多增強和附加功能。Databricks Cloud的設計初衷就是要大大簡化大數據處理的的復雜性,它會吸引更多的企業用戶從事到利用大數據來實現全新的價值。
Databricks Cloud由Databricks Platform,Spark和Databricks Workspace三部分組成。Databricks Platform使用戶非常容易的創建和管理Spark計算機群,目前運行在Amazon AWS上,不久將擴展到更多的云供應商的設施上。 Databricks Workspace由notebook、dashboard和一個job launcher組成:
2. Databricks聯合創始人Ali Ghodsi:現場演示Databricks Cloud
Ali Ghodsi與2013年共同創立Databricks,現任工程主管。通過Databricks Cloud,Ali希望輕松完成簡單的任務,并使復雜的分析成為可能。他演示了僅需點擊鼠標幾次就可以方便的在AWS上建立一個Spark計算機群。使用一個關于FIFA世界杯的示例數據,他演示了notebook,交互式用戶界面,繪圖,參數化的查詢和dashboard。關于大數據分析,他使用Spark SQL交互處理了一個3.4 TB的推特數據集。Ali重點演示了通過機器學習來進行實時概念搜索。他首先使用MLlib在一個60GB維基百科數據上建立了一個TF-IDF詞模型,并用Scala基于此模型建立了一個不同詞之間的相似函數,還在Spark SQL上注冊了此函數。最后使用Spark Streaming生成一個tweet流,并用Spark SQL過濾出和用戶給出的搜索詞相關的tweets,比如搜索足球會顯示世界杯的tweets。這個演示在聽眾中得到極高的評價。人們驚嘆演示中復雜的數據流程和分析的無縫集成,大家認為Databricks Cloud使自己可以更專注于分析本身,而不是花費大量時間精力來建立數據的流程設施,這會給他們公司業務的增長提供直接的動力。
出席本次峰會的有SAP、DataStax、Cloudera、MapR等公司的高級主管,他們關于Spark和大數據產業的主題演講非常精彩。
在峰會上,Databricks和SAP宣布成立合作伙伴關系,在SAP HANA平臺上包裝經過認證的Spark。 SAP高級副總裁Aiaz Kazi介紹了SAP的HANA和Apache Spark之間的協同效應,它們的結合給企業大數據提供了更好的支持。
Hortonworks前CEO / CTO Eric Baldeschwieler(也稱Eric 14)重申了他的觀點:“Apache Spark是當今大數據領域最激動人心的事情”。他認為Spark社區的一個重要目標是使Spark在數據科學和現實世界應用中大放異彩。為此他概述了幾個任務,如建立一個開放的認證套件,更好的支持多個Spark計算機群并存,提供便攜性的存儲等。
Cloudera的CSO和共同創始人Mike Olson發表了主題是Spark作為下一代大數據MapReduce標準模式的演講。Mike描述了Spark在Cloudera產品中的重要地位:在過去一年所有Cloudera支持的項目中,Spark的開源代碼更新活動占總數的21%。Spark已經完全融入CDH,并被Cloudera的主要客戶采用。 關與SQL在Hadoop上運行,Cloudera會繼續支持用與BI分析的Impala,用于批量處理的Hive on Spark,以及用于混合Spark和SQL應用程序的Spark SQL。
MapR首席技術官和創始人MC Srivas說,MapR平臺包括完整的Spark成員。Spark的優點包括易于開發,基于內存的高性能和統一的工作流程,Hadoop的優點包括規模可無限擴展,通用的企業平臺和廣泛的應用范圍。通過結合Hadoop和Spark的優勢,可以給MapR客戶提供更好的支持。他展示了幾個在不同領域的案例,包括廣告優化,基因組合,網絡安全和保健保險。
DataStax執行副總裁Martin Van Ryswyk的演講是關于如何整合Spark和Cassandra。他宣布推出cassandra-driver-spark v1.0。DataStax的Cassandra與Spark的組合比優化后的Hadoop on Cassandra速度快2到30倍。
1. Spark SQL的主要開發人員Michael Armbrust:使用Spark SQL進行高級數據分析
Spark SQL是Spark1.0中最新的一個alpha組成部分。在峰會上,Databricks宣布,已停止對Shark的開發,Spark SQL將是其開發的重點。Spark SQL允許開發人員直接處理RDD,同時也可查詢例如在 Apache Hive上存在的外部數據。Spark SQL的一個重要特點是其能夠統一處理關系表和RDD,使得開發人員可以輕松地使用SQL命令進行外部查詢,同時進行更復雜的數據分析。除了Spark SQL外,Michael還談到Catalyst優化框架,它允許Spark SQL自動修改查詢方案,使SQL更有效地執行。
2. 英特爾軟件與服務部門工程經理Grace Huang:StreamSQL
為了使SQL用戶迅速掌握流處理,StreamSQL支持通過SQL操作流數據,它建立在Spark Streaming和Catalyst優化框架之上。目前,它支持流之間簡單的查詢以及流和結構化數據之間的相互操作,也支持在Catalyst中的典型用法(如LINQ表達式,SQL和DStream的結合)。StreamSQL今后的工作將包括移動窗口支持,使用Hive的DDL,統一的輸入/輸出格式等。
1. 加州大學伯克利分校Zongheng Yang:SparkR
R是數據科學家們進行分析和繪圖的最廣泛使用的語言之一,但是它只能運行在一臺計算機上,當數據大到超過其內存時,R就會變得無能為力了。 SparkR是R的一個程序包,因此它提供了在R的環境中使用Spark的一個簡易方法。SparkR允許用戶創建RDD并用R函數對其進行變換。在R交互環境中可以給Spark計算機群提交作業。 在SparkR中還可以方便地利用現有的R程序包。更多詳細信息請參考http://amplab-extras.github.io/SparkR-pkg。
2. Concurrent公司副總裁Supreet Oberoi:Cascading on Spark
Cascading是一個流行的應用程序開發框架,可用來構建以數據為中心的應用程序。它使用Tap和Pipe的概念,從而提高了用戶建立MapReduce程序的抽象水平。 Cascading 3.0版包括一個可定制的查詢規劃方案,所以Cascading程序可運行在包括本地內存、Apache MapReduce和Apache Tez的后端環境上。即將發布的3.1版將可運行在Spark上。
1. MLlib主要開發人員Xiangru Meng:MLlib和稀疏數據
實際應用中的大型數據集往往是稀疏的。Spark MLlib支持稀疏矩陣和向量的存儲及處理。作為MLlib的用戶,應識別所面臨的問題是否可以用稀疏數據來表示。當數據非常稀疏時,這往往決定了運行的效率。對于開發者而言,應采用適當的計算和算法來利用稀疏數據。Xiangru詳述了對稀疏數據的三個優化算法:在KMeans中計算兩點的距離,在線性模型中計算梯度的總和,以及如何在SVD中利用稀疏數據。
2. Databricks的Aaron Davidson:理解Spark的內部機制
Aaron的演講主要是如何在實際應用中提高Spark核心性能。他詳述了Spark RDD的執行模型和shuffle操作。 RDD保存了產生的順序和計算過程,從??而形成一個邏輯的計劃。邏輯計劃在shuffle的邊界分為不同的執行階段,所有執行階段形成一個DAG。執行階段加上一個數據partition形成一個執行任務。當父輩階段執行后,任務調度器就會為每一個任務提交一個作業。在shuffle的邊界,Mapper任務將數據按照partition保存到磁盤,而reducer從多個mapper提取數據,并按照key來組合數據。此過程中shuffle的網絡通信是昂貴的,按key的數據組合也會使用大量的內存。Aaron舉了一個簡單的例子:計算不同人名的數量,并用人名的第一個字母分組。他演示了兩個不同的實現方法,并在Databricks Cloud中運行,比較了執行階段和運行時間。
1. 加州大學伯克利分校教授David Patterson:Spark和基因學
David Patterson是RISC結構的創始者,由他合作撰寫的計算機體系結構一書是經典的教科書。David在演講中介紹了幾個基于Spark之上的開源基因學軟件項目。SNAP是短讀基因序列校準器,它是迄今為止最準確和最快的校準器,比其他的校準器快3到10倍。 ADAM是一個適用于在計算機群中存儲的基因格式,使用先進的系統技術,可大大加速整個基因處理軟件流水線的效率。 使用一個82個節點的計算機群,ADAM可以用比其他系統快110倍的速度來執行基因學中兩個最昂貴的步驟。當David教授介紹了紐約時報為期2014年6月4日關于SNAP如何幫助挽救了一個孩子的生命的新聞時,全場響起熱烈的掌聲。
2. Jawbone公司數據副總裁Monica Rogati:為數據時代的大眾制造數據產品
可聯網的設備的數量到2020年將增長到500億。在數據時代的大眾眼中,世界將是聰明的,可適應每個人的獨特情況。Monica認為Spark是構建智能數據產品的主要組成部分,因為它支持工業界所需的數據流程,無可挑剔的數據清理,迭代,機器學習和更快的運行速度。
3. Spotify的工程師Chris Johnson:大型音樂推薦系統
Spotify使用各種機器學習模型來增強其音樂推薦功能,包括網頁發現和電臺。由于這些模型的迭代特性,它們非常適合Spark的計算模式,可以避免Hadoop輸入/輸出所帶來的開銷。在這次講座中,Chris評論了兩個共同篩選算法,以及他如何基于Spark MLlib中的ALS來處理數千億的數據點。
4. 蘇黎世聯邦理工學院講師Kevin Mader:使用Spark進行實時圖像處理和分析
采用基于同步加速器X射線層析Microscopy可以每秒產生8GB的圖像數據。為了實時處理這些圖像,Kevin采用了一個上千臺機器的計算機群,并在上面開發了一套基于Spark,可進行過濾、分割和形狀分析的系統。為了加速后期處理,Kevin進行了實時近似分析,如區域篩選和采樣。
Spark Summit 2014是Spark開源生態系統發展壯大的一個重要里程碑,Apache Spark已經成為整合以下大數據應用的標準平臺:
有越來越多的工業產品建立在或集成了Spark如Databricks Cloud和SAP HANA等。
展望未來,Apache Spark社區將繼續在多個領域進一步創新,以提供更多的功能,更快的運行效率和更深度的整合:
通過這次的盛會,更加堅定了Spark在大數據中的核心地位。讓我們期待Spark在未來的更加精彩的發展。
辛
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈