spark執行的時候,採用的是主從結構,有乙個節點負責**協調, 排程各個分布式工作節點。這個**協調節點被稱為驅動器( driver) 節點。與之對應的工作節點被稱為執行器( executor) 節點。
所有的 spark 程式都遵循同樣的結構:程式從輸入資料建立一系列 rdd, 再使用轉化操作派生出新的 rdd,最後使用行動操作收集或儲存結果 rdd 中的資料。
1.驅動器節點:
spark 驅動器是執行你的程式中的 main() 方法的程序。它執行使用者編寫的用來建立 sparkcontext、建立 rdd,以及進行 rdd 的轉化操作和行動操作的**。其實,當你啟動 spark shell 時,你就啟動了乙個 spark 驅動器程式
驅動器程式在 spark 應用中有下述兩個職責:1.把使用者程式轉為任務 2.為執行器節點排程任務
2.執行器節點:
spark 執行器節點是一種工作程序,負責在 spark 作業中執行任務,任務間相互獨立。 spark 應用啟動時, 執行器節點就被同時啟動,並且始終伴隨著整個 spark 應用的生命週期而存在。
執行器程序有兩大作用: 第一,它們負責執行組成 spark 應用的任務,並將結果返回給驅動器程序; 第二,它們通過自身的塊管理器(block manager)為使用者程式中要求快取的 rdd 提供記憶體式儲存。
3.集群管理器:
驅動器節點和執行器節點是如何啟動的呢? spark 依賴於集群管理器來啟動執行器節點,而在某些特殊情況下,也依賴集群管理器來啟動驅動器節點。
spark架構
yarn-cluster 適用於生產環境參考:yarn-cluster和yarn-client提交模式的區別
spark 學習筆記
最近使用spark簡單的處理一些實際中的場景,感覺簡單實用,就記錄下來了。部門使用者業績表 1000w測試資料 使用者 部門 業績 資料載入 val context new sparkcontext conf var data context.textfile data.txt 場景1 求每個部門的...
spark學習筆記
1 缺省會寫成一堆小檔案,需要將其重新分割槽,直接指定幾個分割槽 spark.sql select row number over partition by depid order by salary rownum from emp repartition 2 write.parquet hdfs ...
Spark學習筆記
spark不僅僅支援mapreduce,還支援sql machine learning graph運算等,比起hadoop應用更靈活寬泛。spark 中的rdd 資料結構應對mapreduce中data replication disk io serialization引起的低效問題。rdd 類似於...