spark分佈式的相關學習筆記

driver完成所有任務的調度和executor與cluster之間的協調。
分爲client和cluster模式。client模式是指driver在任務提交的機器上運行,cluster模式是指隨機選擇一臺機器執行。
job是指腳本中的action,一個action對應了一個job(transformation不會對應一個job)
stage組成action/job。一個job可以對應了多個stage。一個job中劃分stage的重要依據是是否又shuffle發生,也就是是否會發生數據的重新組織。
一個stage又會被劃分成多個task進行執行,只有在同一個stage中的所有task結束後才能執行下一個stage中的task。
task是spark中的執行單元。一個task由集羣上某個節點上的某個executor執行。
一個節點由多個executor組成;一個executor由多個core組成;一個core一次只能執行一個task;每個task執行的結果就是生成目標RDD的一個partition。

file是指輸入的數據,一般是以文件的方式存儲在HDFS上。
block是指每一個file包含的塊。
spark在讀取files的時候會根據具體數據格式對應的input format來進行解析,一般是將多個block合併成爲一個輸入分片,成爲inputsplit。然後將這些輸入分片生成具體的task,inputsplit和task時一一對應的關係。

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