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时一一对应的关系。

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