Spark的Driver本身就是Scheduler,完整的類名叫做CoarseGrainedSchedulerBackend,為什么叫CoarseGrained呢?
答案請看下面的鏈接:
https://en.wikipedia.org/wiki/Granularity_(parallel_computing)
簡單的總結一下:
所謂的CoarseGrained,以及與之對應的FineGrained,涉及到并行計算的粒度(Granularity )問題。
細粒度的就叫做FineGrained,也就是把一個作業,拆分成單個很小,數量很多的任務;
粗粒度的就叫做CoarseGrained,也就是作業拆分后的任務單個比較大。
Spark拆分成的任務,默認一個task對應的是一個HDFS的Block,這當然是比較大的了。如果是一個任務只處理一行數據,那就是FineGrained了。