第1章 spark系統概述
1.1 spark是什麼
1. spark比hadoop快在**
(1)spark使用記憶體計算,而hadoop使用io
(2)hadoop的計算是按部就班一步一步進行的,而spark則是提前生成了dag,優化了運算路徑
1.2 spark生態系統bdas
1. bdas:伯克利資料分析棧
2. spark core
spark將資料在分布式環境下分割槽,然後將作業轉化為有向無環圖(dag),減少了多次計算之間中間結果i/o開銷,並分階段進行dag的排程和任務的分布式並行處理。spark採用容錯的,高伸縮性的akka作為通訊框架,減少了多執行緒併發執行所帶來的不確定性。還採用多執行緒池模型來減少task的啟動開銷
rdd可以想象為乙個個partition,rdd之間相互具有依賴關係
計算跟著資料走
3. spark sql
4. spark streaming:核心思想是微批處理
相對於storm的優勢:吞吐量更大,更高效的容錯處理
5. spark graphx
核心抽象是:一種點和邊都帶有屬性的有向多重圖
6. mllib
支援四種常見的機器學習問題:分類,回歸,聚類和協同過濾
7. tachyon
高容錯,高效能的開源的分布式記憶體檔案系統(記憶體中的hdfs)
8. blinkdb
在海量資料上進行互動式sql查詢的大規模並行查詢引擎
核心思想:通過乙個自適應優化框架,隨著時間的推移,從原始資料建立並維護一組多維樣本,通過乙個動態樣本選擇策略,選擇乙個適度大小的示例。
Spark原始碼分析 Spark整體架構
術語 描述使用者編寫的程式。driver端的sparkcontext sparkconf和執行在executors上使用者編寫的業務邏輯 即map reduce reducebykey等 driver 執行使用者編寫應用程式的main 方法並建立sparkcontext worker 具體執行應用程...
Spark 原始碼分析之spark submit
在客戶端執行指令碼sbin spark submit的時候,通過cat命令檢視原始碼可以看出,實際上在原始碼中將會執行bin spark class org.apache.spark.deploy.sparksubmit 在idea匯入的spark core的原始碼進行分析。首先spark會把初始化...
Spark原始碼分析系列(目錄)
本文 研究以spark 2.3.0對應的 spark 版本。圖1 伯克利的資料分析軟體棧bdas berkeley data analytics stack 這裡要先說bdas 伯克利資料分析棧 是伯克利大學的amplab打造的用於大資料的分析的一套開源軟體棧,這其中包括了這兩年火的爆棚的spark...