Apache Spark是開放原始碼的叢集運算框架,由加州大學柏克萊分校的AMPLab開發。Spark是一個彈性的運算框架,適合做Spark Streaming資料流處理、Spark SQL互動分析、ML Lib機器學習等應用,因此Spark可成為一個用途廣泛的大數據運算平台。Spark允許用戶將資料載入至cluster叢集記憶體內儲存,並多次重覆運算,非常適合用於機器學習演算法。
如果您不了解Spark,可以點選下列連結介紹
Apache Spark 介紹
http://pythonsparkhadoop.blogspot.tw/2016/11/apache-spark.html
更快速
提升執行效能
Spark 2.0 以第二代的Tungsten engine,是基於現代的編譯器與MPP(massively parallel processing )大量平行處理資料庫。Spark 2.0 相較於Spark1.6 執行效率大幅提升(2 - 10倍) 執行效能。更容易
Spark SQL
1. Spark SQL 在Spark 2.0 可以執行所有99 TPC-DS 查詢,能夠執行SQL:2003 標準的新功能,支援子查詢。2. SparkSession:新增SparkSession 同時具備了SQLContext 與HiveContext 功能。不過為了向後相容,您仍可以使用SQLContext 與HiveContext。
Spark ML pipeline機器學習套件
1. Spark 2.0主要的機器學習架構是:以DataFrame為基礎的Spark ML pipeline機器學習套件。過去Spark MLlib 套件仍然可以繼續使用,未來的開發會以Spark ML pipeline 為主。2. Spark ML pipeline 套件,現在可以將訓練完成的模型儲存與載入。
DataSet API
過去DataFrames API 您只能執行具型態的方法(例如:select、groupBy)。而RDD 只能執行不具型態的方法(例如:map, filter, groupByKey )。然而,有了Datasets API 之後,您就可以同時執行具型態的方法,與不具型態的方法。不過因為編譯時類型安全(compile-time type-safety)並不是Python 和R 的語言特性,所以Python 和R 不提供Datasets API。其他新增功能
1. R 語言的分散式演算法, 增加了Generalized Linear Models(GLM), Naive Bayes,Survival Regression 與K-Means 等演算法。2. 更簡單、更高效能新的Accumulator API,擁有更簡潔的型態架構,而且支援基本型態。
更智能
Structured Streaming APIs
Spark 2.0 的Structured Streaming APIs 是新的結構化資料流處理方式。它可以使用DataFrame/Dataset API,並且以Catalyst 最佳化提升效能。並且整合了streaming 資料流處理,interactive 互動查詢,與batch queries 批次查詢。以上內容節錄自這本書,本書將詳細介紹Spark 2.0 安裝,並且所有Python範例程式都能在Spark 2.0 執行。並且特別介紹Spark 2.0 以DataFrame為基礎的Spark ML pipeline機器學習套件。很適合入門初學者:
Python+Spark 2.0+Hadoop機器學習與大數據分析實戰 http://pythonsparkhadoop.blogspot.tw/2016/10/pythonspark-20hadoop.html
天瓏:https://www.tenlong.com.tw/items/9864341537?item_id=1023658
博客來:http://www.books.com.tw/products/0010730134?loc=P_007_090
露天拍賣:http://goods.ruten.com.tw/item/show?21640846068139
蝦皮拍賣:https://goo.gl/IEx13P
讚!!
回覆刪除