分享

Spark UI页面获取程序运行相关参数及含义解释

desehawk 发表于 2017-5-5 18:44:47 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 0 10394
最后谈一谈如何通过Spark UI获取程序运行信息,熟练应用这些反馈能够为相关优化快速指明方向。下面简单介绍这些页面的各自的主要功能。
Jobs: 呈现Spark应用分割的Job列表,可以查询正在执行和已经完成的各项作业及其运行时间。

Stages:可用于查看每个Stage的具体运行情况,包括执行计划(DAG)、每个Executor的任务分配情况以及每个Task的执行细节,重点关注以下几个指标:

       Duration:Task执行时长

       GC Time:JVM垃圾回收时长

       Input Size / Records:每个Task读取的数据大小

       Write Time:每个Task写文件到磁盘的时长

       Shuffle Write Size / Records:每个Task需要执行Shuffle的数据大小

       Errors:Task执行过程中的报错信息

例如,过大或过小的Input Size意味着不合理的数据分区,并有可能造成部分Task执行时间过长;而GC Time时延过大可能意味着用户代码分配不足,需要调整相关设置,等等。结合这些信息往往可以定位大部分性能问题,从而有针对性地进行优化。

Storage:展示每个RDD缓存占用的内存和磁盘的空间,可以用于调整Spark程序中数据的缓存策略。

Environment:该页面下可以核查Spark应用提交的所有运行环境信息、依赖关系,以及自定义的参数等。              

Executors:该页面下包括所有Executor在执行整个应用过程中所有Task的完成情况,可用于核查是否充分占用集群资源,是否存在失败率明显偏高的Executor,并可以结合YARN Container执行的详细日志对程序进行排错。

没找到任何评论,期待你打破沉寂

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条