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 我们将第一时间删除。
相关素材