spark的sparkUI如何解读?
spark的sparkUI如何解读?
以spark2.1.4来做例子
Job - schedule mode
进入之后默认是进入spark job 页面
这个说明有很详细的解释,spark有两种操作算子:转换算子(transformation)和执行算子(Action)。当执行到行为算子的时候,就出发了一个Job作业,比如count()和saveAsTextFile()。
sparkJob页面头部有几个,最重要的是Schedule mode,表示的是Job的调度模型。如果多个线程调用多个并行的job,这些job就会被分配调用,这里就有个调度模型,一般是FIFO模型,先进先出模型。但是在spark0.8之后,就支持了一种FAIR模型,FAIR模型是一种公平模型,相当于每个任务轮换使用资源等,这样能使的小job能很快执行,而不用等大job完成才执行了。
Job - Event Timeline
这个就是用来表示调度job何时启动,何时结束,并且excutor何时加入。
我们可以很方便看到哪些job已经运行完成,使用了多少excutor,哪些正在运行。
点击进入每个job,我们就可以看到每个job的detail
Details for Job
在这个页面我们能看到job的详情。一个job会被分为一个或者多个stage
这里也有event timeline,告诉我们这个job中每个stage执行时间。
这里多了一个DAG可视化的图
DAG
DAG图是有向无环图的意思。spark中使用有向无环图来显示流程。
DAG也是一种调度模型,在spark的作业调度中,有很多作业存在依赖关系,所以有的作业可以并行执行,有的作业不能并行执行。把这些作业的内部转向关系描绘清楚,就是一个DAG图。使用DAG图,就能很清晰看到我们的作业(RDD)哪些先执行,哪些后执行,哪些是并行执行的。
当调用了一个行为算子的时候,前面的所有转换算子也会一并提交给DAG调度器,DAG调度器把这些算子操作分为不同的stage,这个就是stage的由来。而DAG在画stage的时候也会产生出一个DAG图,就是这里的图了。
点击每个stage,我们就能看到这个stage执行的任务(Task)了。
Details for Stage
标题
标题代表这是第几号stage,第几次尝试。
Show Additional Metrics
Scheduler Delay
调度延迟时间,包含把任务从调度器输送给excutor,并且把任务的结果从excutor返回给调度器。如果调度时间比较久,则考虑降低任务的数量,并且降低任务结果大小
Task Deserialization Time
反序列化excutor的任务,也包含读取广播任务的时间
Shuffle Read Blocked Time
任务shuffle时间,从远端机器读取shuffle数据的时间
Shuffle Remote Reads
从远端机器读取shuffle数据的时间
Getting Result Time
从worker中获取结果的时间
// 这里应该还有一些其它的各种指标,等以后看代码的时候再补充。
在用图形表示完之后还有一个summary的时间统计,告诉你每个阶段的时间,所有任务的分布图。
Aggregated Metrics by Executor
这个矩阵告诉我们每个excutor的执行情况。
Tasks
告知每个任务的执行情况。
Environment
显示所有的环境变量
Excutors
显示每个excutor的统计情况
参考文章
http://www.csdn.net/article/2015-07-08/2825162
https://jaceklaskowski.gitbooks.io/mastering-apache-spark/content/spark-webui-StagePage.html
spark的sparkUI如何解读?的更多相关文章
- 【Spark】SparkContext源代码解读
SparkContext的初始化 SparkContext是应用启动时创建的Spark上下文对象,是进行Spark应用开发的主要接口,是Spark上层应用与底层实现的中转站(SparkContext负 ...
- 15、Spark Streaming源码解读之No Receivers彻底思考
在前几期文章里讲了带Receiver的Spark Streaming 应用的相关源码解读,但是现在开发Spark Streaming的应用越来越多的采用No Receivers(Direct Appr ...
- Spark Streaming源码解读之流数据不断接收和全生命周期彻底研究和思考
本节的主要内容: 一.数据接受架构和设计模式 二.接受数据的源码解读 Spark Streaming不断持续的接收数据,具有Receiver的Spark 应用程序的考虑. Receiver和Drive ...
- Spark Streaming源码解读之No Receivers彻底思考
本期内容 : Direct Acess Kafka Spark Streaming接收数据现在支持的两种方式: 01. Receiver的方式来接收数据,及输入数据的控制 02. No Receive ...
- Spark Streaming源码解读之State管理之UpdataStateByKey和MapWithState解密
本期内容 : UpdateStateByKey解密 MapWithState解密 Spark Streaming是实现State状态管理因素: 01. Spark Streaming是按照整个Bach ...
- Spark Streaming源码解读之数据清理内幕彻底解密
本期内容 : Spark Streaming数据清理原理和现象 Spark Streaming数据清理代码解析 Spark Streaming一直在运行的,在计算的过程中会不断的产生RDD ,如每秒钟 ...
- Spark Streaming源码解读之Driver容错安全性
本期内容 : ReceivedBlockTracker容错安全性 DStreamGraph和JobGenerator容错安全性 Driver的安全性主要从Spark Streaming自己运行机制的角 ...
- Spark Streaming源码解读之Executor容错安全性
本期内容 : Executor的WAL 消息重放 数据安全的角度来考虑整个Spark Streaming : 1. Spark Streaming会不断次序的接收数据并不断的产生Job ,不断的提交J ...
- Spark Streaming源码解读之流数据不断接收全生命周期彻底研究和思考
本期内容 : 数据接收架构设计模式 数据接收源码彻底研究 一.Spark Streaming数据接收设计模式 Spark Streaming接收数据也相似MVC架构: 1. Mode相当于Rece ...
随机推荐
- 在Myeclipse中用Java语言操作mysql数据库
package OperateMysql; import java.sql.*; public class MysqlTest { public static void main(String[] a ...
- 关于sql语句引发的404错误
今天分享个小问题,也是今天在项目中遇到的,希望对遇到相关问题的朋友有所帮助. 使用工具:(相关的) mybatis,spring-mvc,mysql 问题原因: 我在mybatis的mapper文件中 ...
- AngularJS 框架
AngularJS 通过 指令 扩展了 HTML,且通过 表达式 绑定数据到 HTML. [Angular JS表达式] 1.Angular JS使用双{{}}绑定方式.用于将表达式的内容输出到页面 ...
- Vuforia开发完全指南---License Manager和Target Manager详解
License Manager和Target Manager License Manager 对于每一个用Vuforia开发的AR程序来说,都有一个唯一的license key,在Unity中必须首先 ...
- vue组件初学--弹射小球
1. 定义每个弹射的小球组件( ocicle ) 2. 组件message自定义属性存放小球初始信息(可修改) { top: "0px", //小球距离上方坐标 left: &qu ...
- TTabControl
1.TTabControl 组件的典型用法TTabControl 组件使用起来,根本不会使程序简单化,所以不提倡使用此组件,可以用TPageControl组件代替.与多页组件不同的是,虽然Tab 组件 ...
- LDA工程实践之算法篇之(一)算法实现正确性验证(转)
研究生二年级实习(2010年5月)开始,一直跟着王益(yiwang)和靳志辉(rickjin)学习LDA,包括对算法的理解.并行化和应用等等.毕业后进入了腾讯公司,也一直在从事相关工作,后边还在yiw ...
- PHP的ntohl网络字节序函数及相关知识
PHP与C服务器的socket通信,在做数据转换的时候,PHP没有提供对应将网络字节序和机器字节序相互转换的程序,但是根据函数的意义,我们可以做相应的转换来实现这一函数: function ntohl ...
- SVN初体验
呐,部门领导要求今后项目部分内容要实行版本控制,因此有机会深入接触下SVN这门功课 ---------------------------------------------------------- ...
- C#泛型基础知识点总结
1.0 什么是泛型 泛型是C#2.0和CLR(公共语言运行时)升级的一个新特性,泛型为.NET 框架引入了一个叫 type parameters(类型参数)的概念,type parameters 使 ...