spark-UI解读

发布于 2021-10-10 19:52

spark有两种操作算子:转换算子(transformation)和执行算子(Action)。当执行到行为算子的时候,就出发了一个Job作业,比如count()和saveAsTextFile()。

有多少个Action就有多少个job,有多少个宽依赖就有多少个stage,有多少个partition就有多少个task,Task是Spark的最小执行单位,Executor每个核同时只能执行一个Task

JOB tab:

Schedule mode,表示的是Job的调度模型。如果多个线程调用多个并行的job,这些job就会被分配调用,这里就有个调度模型,一般是FIFO模型,先进先出模型。但是在spark0.8之后,就支持了一种FAIR模型,FAIR模型是一种公平模型,相当于每个任务轮换使用资源等,这样能使的小job能很快执行,而不用等大job完成才执行了。

在里面可以看到当前应用分析出来的所有任务,以及所有的excutors中action的执行时间。

EVENT TIMELINE:

在application应用运行期间,Job和Exector的增加和删除事件进行图形化的展现。这个就是用来表示调度job何时启动何时结束,以及Excutor何时加入何时移除。我们可以很方便看到哪些job已经运行完成,使用了多少Excutor,哪些正在运行。

1.展示什么时候job开始和结束

2.展示什么时候executors joined or left:有Executor才可以开始计算

stage:

就能很清晰看到我们的作业(RDD)哪些先执行,哪些后执行,哪些是并行执行的

Task Deserialization Time

反序列化excutor的任务,也包含读取广播任务的时间

The number after RDD is its identifier:

executor:

一方面通过它可以看出来每个excutor是否发生了数据倾斜,另一方面可以具体分析目前的应用是否产生了大量的shuffle,是否可以通过数据的本地性或者减小数据的传输来减少shuffle的数据量。

Aggregated Metrics by Executor:这个矩阵告诉我们每个excutor的执行情况。

移动计算而不是移动数据

Spark Web UI详解

https://www.cxymm.net/article/qq_27639777/81069893

理解spark中的job、stage、task

https://zhuanlan.zhihu.com/p/50752866

Spark中Task数量的分析

https://www.cnblogs.com/upupfeng/p/12385979.html

本文来自网络或网友投稿,如有侵犯您的权益,请发邮件至:aisoutu@outlook.com 我们将第一时间删除。

相关素材