自学内容网 自学内容网

Spark程序的监控

也可以理解为4040界面的使用。

import time

time.sleep(100000)

写代码时添加这个代码,让进行程序休眠。然后就可以访问4040界面

本地的程序,访问地址是:http://localhost:4040

4040是一个程序创建的,一个程序一个界面,切记 

Job:

各个界面作用:
Job:显示当前这个程序的所有Job,一个程序可以有多个Job

Spark中不是所有的代码都会触发Job的产生和运行
所有RDD的转换是不会立即产生job,运行Task任务的,这种模式称为Lazy模式:避免在内存中构建RDD,但是你不用只有遇到了需要使用数据的代码操作才会产生job,触发Task任务的运行

能触发job任务生成的目前有: saveAsTextFile   foreach

 Stages:

Stages:显示当前这个程序的所有Stage,一个Job可以有多个 Stage
Stage 可以理解为多个算子组成的阶段,到底有多少个Stage,取决于算子是否会触发shuffle过程。假如有两个触发shuffle过程的算子,整个程序可以切为三个阶段。
当一个Job被触发运行的时候,Spark底层会根据回溯算法构建这个job的执行计划图,即DAG图
每个Job都会有1个DAG图,在构建的时候会根据计算过程中是否要产生shuffle来划分Stage
不产生Shuffle的操作就在同一个Stage中执行,产生Shuffle的操作,会传递到另外一个Stage中执行
最终每个Stage中的操作会转换为对应的Task来执行

每个黑点表示一个RDD

每个矩形框中的RDD的转换都是在内存中完成的

曲线代表经过了Shuffle,灰色代表没有执行,因为之前执行的

Executors 

显示当前这个程序的运行进程的信息
每个Spark程序都由两种进程组成:一个Driver和多个Executors 
Driver进程:负责解析程序,构建DAG图,构建Stage,构建、调度、监控Task任务的运行
Executor进程:负责运行程序中的所有Task任务

 

假如你是集群运行,有可能有四个,以下是集群运行workcout的截图: 

Storage:显示当前这个程序在内存缓存的数据信息 。

Environment:显示当前这个程序所有的配置信息。


原文地址:https://blog.csdn.net/weixin_63297999/article/details/143568012

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!