Spark调优 数据本地化

Posted wyh-study

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 随机安排 跨机架

 

二、实际场景:

技术图片

 

 

三、总结:

技术图片

 

以上是关于Spark调优 数据本地化的主要内容,如果未能解决你的问题,请参考以下文章

一分钟了解spark的调优

spark性能优化

大数据之Spark:Spark调优之RDD算子调优

大数据之Spark:Spark面试(中级)

Spark调优:如果实在要shuffle,使用map侧预聚合的算子

spark性能调优之资源调优