Spark调优(二) 数据本地化

  Application任务执行流程:  在Spark Application提交后,Driver会根据action算子划分成一个个的job,然后对每一 个job划分成一个个的stage,stage内部实际上是由一系列并行计算的task组成的,然后 以TaskSet的形式提交给你TaskScheduler,TaskScheduler在进行分配之前都会计算出 每一个task最优计算位置。Spark的task的分配算法优先将task发布到数据所在的节点上 ,从而达到数据最优计算位置。

一、数据本地化级别:

     PROCESS_LOCAL 进程本地化

 

 

 

    NODE_LOCA 节点本地化

 

 

 

   NO_PREF 没有最佳位置这个说法 比如用到SparkSQl读取mysql数据库里的数据

 

 

    RACK_LOCAL 机架本地化

 

 

 

    ANY 随机安排 跨机架

 

二、实际场景:

 

 

三、总结:

 

posted @ 2020-02-28 13:18  Xiaohu_BigData  阅读(263)  评论(0编辑  收藏  举报