Pivotal Hadoop Integrates the Full Apache Spark Stack
May 23, 2014 | by Sarabjeet Chugh, Head of Hadoop Product Management, Pivotal, Inc.
Tags:
http://databricks.com/blog/2014/05/23/pivotal-hadoop-integrates-the-full-apache-spark-stack.html
Shark, Spark SQL, Hive on Spark, and the future of SQL on Spark
July 1, 2014 | by Reynold Xin
http://databricks.com/blog/2014/07/01/shark-spark-sql-hive-on-spark-and-the-future-of-sql-on-spark.htmlSpark 1.2版本發佈: MLlib支持工作流,SQL支持源數據篩選
12月18日,Spark宣佈發佈1.2版本,和以往發佈的版本相比,1.2版本算得上是最大的一次改進,代碼來自172個開發者的多達一千次提交。更新內容涵蓋核心性能改進、MLlib的新API、Streaming的H/A模式、GraphX相關等等。更多細節可以在下載頁查看。在本次的發佈中,主要改進包括下面幾個方面:
- Spark Core:對操作和性能方面做了改進,更新了兩個主要的子系統,來針對大規模shuffle的情況。第一個改進的是通信管理系統,升級使用了基於Netty的實現。第二個改進是shuffle的機制,升級使用了基於sort的實現。這兩個改進,都對大規模shuffle情況下的性能和穩定性做出了貢獻。除此之外,Spark還增加了一個彈性機制,用於增強那些長時間運行的ETL任務對集羣的利用率。目前這種機制在YARN上已經支持了,後續版本發佈的時候應該會覆蓋到其他管理平臺。最後,核心功能還添加了對Scala 2.11版本的支持。
- Spark Streaming:本次升級對Streaming部分來講包括了兩個主要特性,一個是Python的API,可以調用DStream和輸出操作幾乎全部的功能。目前輸入來源支持文本文件和socket傳遞過來的文本。預計下一個版本發佈的時候會添加Kafka和Flume的輸入支持。另一個是WAL(write ahead log)機制下的全H/A模式,在此之前的版本,如果硬盤出了問題,一些尚在緩存區還沒有來得及被處理的數據會丟失,該改進可以有效地防止硬盤出問題時的數據丟失問題。
- MLLib:最大的改進應該是發佈了稱爲spark.ml的機器學習工具包,支持了pipeline的學習模式,即多個算法可以用不同參數以流水線的形式運行。在工業界的機器學習應用部署過程中,pipeline的工作模式是很常見的。新的ML工具包使用Spark的SchemaRDD來表示機器學習的數據集合,提供了Spark SQL直接訪問的接口。此外,在機器學習的算法方面,增加了兩個基於樹的方法,隨機森林和梯度增強樹。
- Spark SQL:增加了對外部數據來源的支持。可以將外部數據來源作爲臨時表掛在的文件系統之中,減少了全部加載數據過來的種種糾結。爲了做到這一點,Spark重寫了Parquet和JSON綁定。後續應該會有更多的對其他系統和數據格式的支持發佈出來。此外,對於Hive的支持也增加了定點數類型以及動態劃分的插入。
- GraphX:終於在這個版本里,Spark將GraphX從一個alpha初級開發版本更換到了穩定版本。這意味着目前用GraphX開發的代碼將來移植到Spark新版本的時候,也不用做太多的代碼改動了。另外mapReduceTriplet接口被新的aggreateMessages替換。
- 其他細節升級包括PySpark支持大數據集、一些UI上的改動以及可以讀取二進制圖像等內容。
12月16日的Spark的社區聚會上,作者Andrew和Aaron Davidson向前來的熱心開發者詳細講解了此次升級的情況(Youtube視頻)。另外,明年1月13日,Databricks的Patrick Wendell也會以Webcast的形式來分享Spark 1.2的更多細節。
感謝郭蕾對本文的審校。
參考網址:http://www.infoq.com/cn/news/2014/12/spark-1.2-release-mllib-sql