spark 的層次
開發視角多涉及兩種層面。
1.一種是spark自身的開發,
這類開發涉及到j**a和sala以及一些底層的原始碼。了解這些內容,主要用於底層框架的開發以及針對spark的二次開發,也就是spark架構設計與實現。要求深入spark原始碼研究和二次開發,這些一般是大資料平台的設計與開發,涉及大型複雜分布式系統的設計和架構。對原始碼的了解程度要求比較高。
2.還有一種是spark在業務中的應用開發。
即基於spark實現資料的處理和計算等操作。多是資料etl,資料探勘等資料專案。
2.spark 基本概念
總結一下各自的階段和層次,從不同的開發視角上看,側重點是不同的。
2.從執行的模型來說
map shuffle reduce
3.從檢視的metric看
job --》 stage --》 task
4.從背後的具體執**況來說
sparkcontext
驅動器 -- driver
執行器 -- executor
dag scheduler: 根據作業(job)構建基於stage的dag,並提交stage給taskscheduler
taskscheduler: 將任務(task)分發給executor
5.優化以及資料傾斜的處理方式
優化:從系統執行方面
從**編寫方面
iii.spark開發的視角
原始碼層面進行改動,或者基於原始碼的配套開發.
分布式儲存,分布式計算。hadoop hdfs就用做分布式儲存的, spark就是分布式計算系統。
###spark內部的原理
理論依據可以作為開發的基石。
cap 定理 consistency資料一致性,**ailability可用性,partition tolerance分割槽容錯性
base 是 basically **ailable(基本可用)、soft state(軟狀態)和 eventually consistent(最終一致性)三個短語的簡寫
前端開發總覽
記錄前端學習歷程 kissy ui 1 funtion方法的高階特性 2 閉包 3 js物件導向高階特性 4 dom 四個常用的方法 5 dom 相簿實現點選載入 6 編寫相容性 7 addloadevent解析 8 ajax與dom實現動態載入 9 建立導航選單 10 使用dom動態建立標籤 學習...
外掛程式開發總覽
之前都沒有建立目錄,自己翻看起來都比較麻煩。這裡先進行一下彙總,以後慢慢學習再新增。想做乙個基於rcp版本的網路編輯器,有點像那個思科的軟體,可以拖拖拽拽一些網路裝置。也嘗試一下第一次編寫開源的專案。其實自己還是挺喜歡eclipse外掛程式這一塊,但是畢竟技術路太窄,怕不好走。慢慢來吧!基礎篇 1 ...
Spark開發環境搭建
二 將這個包解壓到 usr spark 目錄下 三 進入目錄 usr spark spark 2.1.0 bin 選擇需要啟動的指令碼,例如python的shell pyspark 啟動成功後如下圖所示 export spark home usr spark spark 2.1.0 path pa ...