spark術語及理解

1.Application
基於spark的用戶程序,包含了一個driver program 和集羣中多個 executor,一定是通過一個有main方法的類執行的。
2.Driver Program
運行application的main()函數並自動創建SparkContext。通常SparkContext 代表driver program,說白了,就是運行程序中main方法的進程,這就是driver,也叫driver進程
3.Application Jar
這個就是把寫好的spark工程,打包成一個jar包,其中包括了所有的第三方jar依賴包,比如java中,就用maven+assembly插件打包最方便
4.Cluster Manager
集羣管理器,就是爲每個spark application,在集羣中調度和分配資源的組件,比如Spark Standalone、YARN、Mesos等
5.Deploy Mode
部署模式,無論是基於哪種集羣管理器,spark作業部署或者運行模式,都分爲兩種,client和cluster,client模式下driver運行在提交spark作業的機器上;cluster模式下,運行在spark集羣中
6.Executor
爲某個Application運行在worker node 上的一個進程。該進程負責運行task並負責將數據存儲在內存或者硬盤上,每個application 都有自己獨立的 executors
7.worker node
集羣中的工作節點,能夠運行executor進程,運行作業代碼的節點
8.rdd
spark 的幾本運算單元,通過scala集合轉化,讀取數據集生成或者由其他RDD進過算子操作得到
9.Job
可以被拆分成task並行計算的單元,一般爲spark action 觸發的一次執行作業
10.Stage
每個job會被拆分成很多組task,每組任務被稱爲stage,也可稱TaskSet,該屬於經常在日誌中看到
11.Task
driver發送到executor上執行的計算單元,每個task負責在一個階段(stage),處理一小片數據,計算出對應的結果

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章