1. Spark 與 Hadoop Map Reduce 比較
Hadoop Map Reduce的計算框架
Spark in-memory的計算框架
如下圖,Spark是基於記憶體內的計算框架。Spark在運算時,將中間產生的資料暫存在記憶體中,因此可以加快執行速度。尤其需要反覆操作的次數越多,所需讀取的資料量越大,則越能看出Spark的效能。Spark在記憶體內執行程式,運算速度能比Hadoop MapReduce的運算速度快上100倍,即便是執行程式於硬碟時Spark也能快上10倍速度。
2.Spark發展歷史 - 2009 Spark由Matei Zaharia由加州大學柏克萊分校的AMPLab開發
- 2010 透過BSD授權條款開放原始碼釋出
- 2013 該專案被捐贈給Apache軟體基金會
- 2014/2 Spark成為Apache的頂級專案
- 2014/11 Databricks團隊使用Spark刷新資料排序世界記錄
- 2015/3 Spark 1.3.1版釋出
3.Spark特色
特色
|
說明
|
運算速度快
|
Spark基於記憶體計算的開放原始碼叢集運算系統,比原先的Hadoop MapReduce快100倍。
|
易開發程式
|
目前Spark支援多種語言:Scala、Python、Java,也就是說開發者可以視應用的環境,來決定使用那種語言來開發Spark程式,能更彈性的符合開發時的需求。
|
與Hadoop相容
|
Spark提供Hadoop Storage API,使它支援了Hadoop的HDFS儲存系統。並且支援Hadoop YARN,可共享儲存資源與運算,而且也幾乎與Hive完全相容。
|
可在各平台執行
|
|
4. Spark主要功能
功能
|
說明
|
Spark SQL
|
Spark SQL可以使用熟知的SQL查詢語法,執行數據分析。
|
Spark Streaming
|
Spark Streaming可達成即時資料串流的處理,具有高資料量、可容錯性、可擴充性等特點。
|
GraphX
|
GraphX是Spark上的分散式圖形處理架構,可用圖表計算。
|
MLlib
|
MLlib是一個可擴充的Spark機器學習庫,可使用許多常見的機器學習演算法,簡化大規模機器學習時間。演算法包括:分類與回歸、支持向量機、回歸、線性回歸、決策樹、單純貝式、分群、協同過濾等。
|
以上內容節錄自這本書,本書將詳細介紹Spark 2.0 安裝,並且所有範例程式都能在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
0 意見:
張貼留言