一:spark的UI界面
二:spark的UI界面解析
1 代表job页面,在里面可以看到当前应用分析出来的所有任务,以及所有的excutors中action的执行时间。
页可以分为两部分,一部分是event timeline,另一部分是进行中和完成的job任务。
第一部分event timeline展开后,可以看到executor创建的时间点,以及某个action触发的算子任务,执行的时间。通过这个时间图,可以快速的发现应用的执行瓶颈,触发了多少个action。
第二部分的图表,显示了触发action的job名字,它通常是某个count,collect等操作
2 代表stage页面,在里面可以看到应用的所有stage,stage是按照宽依赖来区分的,因此粒度上要比job更细一些
作血统图,标记了每个rdd从创建到应用的一个流程图,也是我们进行分析和调优很重要的内容
3 代表storage页面,我们所做的cache persist等操作,都会在这里看到,可以看出来应用目前使用了多少缓存
4 代表environment页面,里面展示了当前spark所依赖的环境,比如jdk,lib等等
5 代表executors页面,这里可以看到执行者申请使用的内存以及shuffle中input和output等数据
这个页面比较常用了,一方面通过它可以看出来每个excutor是否发生了数据倾斜,另一方面可以具体分析目前的应用是否产生了大量的shuffle,是否可以通过数据的本地性或者减小数据的传输来减少shuffle的数据量。
6 这是应用的名字,代码中如果使用setAppName,就会显示在这里
7 是job的主页面。