Spark流处理调优步骤

总体运行状况:

 

这里的每个批处理任务间隔是10s一次,所以Total Delay是14s,那么对于下一个批处理任务来说就是延迟了14 - 10 = 4s 。

Total Delay   -  每个批处理任务设置的间隔  =  Scheduling Delay

Scheduling Delay  +  Processing Time  =  Total Delay

简易调优策略:设置每个批处理任务间隔时间 >= Proceesing Time(实际执行时间)


每个ExecutorTask的执行时间,可以用于优化数据倾斜等问题:

 

 

 

查看每个批处理任务执行的具体状况:

 

点击时间戳进入:

点击“Job Id”查看具体的Task执行状况:

 

Executor倾斜:

只有一个Executor执行了1.3min,其他都是毫秒级,而Spark的运算性能是以最慢那个作为最终的运算时间,这说明其他的Executor并没有做运算。

解决办法:对rdd做一次reparation即可。


  1. rdd = rdd.repartition(10);

posted @ 2018-02-05 10:27  四叶草Grass  阅读(502)  评论(0编辑  收藏  举报