Spark的Driver本身就是Scheduler,完整的类名叫做CoarseGrainedSchedulerBackend,为什么叫CoarseGrained呢?
答案请看下面的链接:
https://en.wikipedia.org/wiki/Granularity_(parallel_computing)
简单的总结一下:
所谓的CoarseGrained,以及与之对应的FineGrained,涉及到并行计算的粒度(Granularity )问题。
细粒度的就叫做FineGrained,也就是把一个作业,拆分成单个很小,数量很多的任务;
粗粒度的就叫做CoarseGrained,也就是作业拆分后的任务单个比较大。
Spark拆分成的任务,默认一个task对应的是一个HDFS的Block,这当然是比较大的了。如果是一个任务只处理一行数据,那就是FineGrained了。