通过WebUI查看Structured Streaming作业统计信息

简介: 从EMR-3.18.1版本开始,EMR将提供Spark Streaming SQL预览版功能。本次作为新特性的一部分,EMR将扩展现有Spark WebUI,支持Structured Streaming Query的统计信息查看。

1. 前言

从EMR-3.18.1版本开始,EMR将提供Spark Streaming SQL预览版功能。本次作为新特性的一部分,EMR将扩展现有Spark WebUI,支持Structured Streaming Query的统计信息查看。


2. 功能介绍

2.1 Query列表

我们在现有Spark WebUI上新增了streamingsql Tab,用于展示当前作业中进行中以及完成的Streaming Query。

URL地址:http://${baseUrl}/streamingsql

1550556087157-45dfc0b8-2dc8-493f-9a0b-90                            
       
   


  • Active Streaming Queries:当前正在运行的query
  • Completed Streaming Queries:已完成的query,包括结束的和失败的query


说明

Query Name

查询Name,通过“SET streaming.query.name=${QUERY_NAME}”指定。

Status

当前运行状态,包括RUNNING,FAILED和FINISHED

Id

Query ID,保存到checkpoint中,多次运行同一个query, id保持不变。

Run ID

Query Run ID,每次重新运行query,都会重新生成一个Run ID。

Submit Time

当前Query提交执行的时间。

Duration

当前Query运行时间。

Avg Input PerSec

最近"spark.sql.streaming.numRecentProgressUpdates"个批次的平均数据输入速率。默认最近100个批次统计信息。

Avg Process PerSec

最近"spark.sql.streaming.numRecentProgressUpdates"个批次的平均数据处理速率。默认最近100个批次统计信息。

Total Input Rows

最近"spark.sql.streaming.numRecentProgressUpdates"个批次的数据条数总和,注意不是Query运行期间的数据条数总和。默认最近100个批次统计信息。

Last Batch ID 

最近一次完成的Batch ID。

Last Progress

最近一次批次的执行信息。

ERROR

如果Query失败,展示摘要错误信息。

支持在界面上kill某个query。

1551152429326-5e964668-6d75-4ab6-95b3-5a                            
       
   


kill之后状态变为“FINISHED”:

1550557320667-b21764a4-d4b3-490e-ab6f-52                            
       
   


2.2 Query统计详情

通过点击Query的RunID,可以查看当前Query的运行统计信息,包括:Input Rate,Process Rate,Input Rows的时序变化,以及每个批次的Duration堆栈图,包括WalCommit,QueryPlanning,GetOffset,GetBatch以及AddBatch。

URL地址:http://${baseUrl}/streamingsql/statistics?id=9d7e9076-f96a-4d19-9f82-460b5af57daa

1550557610065-54cdbe56-3a62-49db-b7db-ae                            
       
   

1550557627428-f15e3335-459b-4fc4-9d13-63                            
       
   


我们可以查看任意时间的Batch的各个执行阶段的时间消耗。

1550557702386-961acd55-b674-4d65-b98f-bc                            
       
   


同样的,这里将只会展示“spark.sql.streaming.numRecentProgressUpdates”个Batch的统计信息。如果需要查看更长周期内的统计信息,可以设置“spark.sql.streaming.numRecentProgressUpdates”为更大值。需要注意的是,这会带来一定的内存开销。

3. 小结

以上简单演示了Structured Streaming Query的管理和统计信息查看功能。当前Spark Streaming SQL处于预览阶段,我们将在UI上集成更多有用的信息,方便大家查看和监控作业的运行状态。

目录
相关文章
|
SQL 缓存 分布式计算
SparkSQL与Hive metastore Parquet转换
Spark SQL为了更好的性能,在读写Hive metastore parquet格式的表时,会默认使用自己的Parquet SerDe,而不是采用Hive的SerDe进行序列化和反序列化
SparkSQL与Hive metastore Parquet转换
|
5月前
|
机器学习/深度学习 数据挖掘 调度
基于Stacking集成学习的数据回归预测(4种基学习器PLS、SVM、决策、KNN,多种元学习器比选)MATLAB代码
🔥 内容介绍 一、引言:回归预测痛点与集成学习破局之道 1.1 回归预测的应用价值与单一模型局限 在工业质检(如食品成分含量预测)、金融量化(如股价波动预测)、环境监测(如 PM2.5 浓度预测)等场景中,回归预测的精度直接决定决策效果。但实际应用中,单一模型往往存在明显短板: 偏最小二乘(PLS)擅长处理高维共线性数据,却难以拟合非线性关系; 支持向量机(SVM)能捕捉非线性特征,却对参数敏感、泛化能力不稳定; 随机森林(RF)抗过拟合能力强,却在高维数据下训练效率低。 这些局限导致单一模型难以适配复杂数据的多元特征,而集成学习通过 “模型组合” 思路,成为突破精度瓶颈的关键。
|
XML SQL Java
Maven的三种打包方式(jar、shade、assembly)
Maven的三种打包方式(jar、shade、assembly)
6493 0
|
算法 Unix API
指数退避(Exponential backoff)在网络请求中的应用
## 一、背景 最近做云服务 API 测试项目的过程中,发现某些时候会大批量调用 API,从而导致限流的报错。在遇到这种报错时,传统的重试策略是每隔一段时间重试一次。但由于是固定的时间重试一次,重试时又会有大量的请求在同一时刻涌入,会不断地造成限流。 这让我回想起两年前在查阅[Celery Task 文档](http://docs.celeryproject.org/en/latest
14818 1
|
应用服务中间件
快速解决idea启动项目报错:Unable to open debugger port(127.0.0.1:58950):java.net.SocketException“socket closed
快速解决idea启动项目报错:Unable to open debugger port(127.0.0.1:58950):java.net.SocketException“socket closed
4086 0
|
分布式计算 Hadoop Java
CentOS中构建高可用Hadoop 3集群
这个过程像是在一个未知的森林中探索。但当你抵达终点,看到那个熟悉的Hadoop管理界面时,所有的艰辛都会化为乌有。仔细观察,尽全力,这就是构建高可用Hadoop 3集群的挑战之旅。
468 21
|
存储 缓存 弹性计算
聚宽揭秘:为什么量化研究员喜欢在Kubernetes上使用Fluid简化数据管理?
在量化投研过程中,通过引入阿里云的 ack-fluid 技术,基于 JindoRuntime 的分布式缓存加速,解决了多数据源、弹性扩展、动态挂载等挑战,显著提升了数据处理效率和资源利用率,降低运营成本。
|
人工智能 安全 前端开发
github和npm开启2FA双重身份验证无法登陆
随着安全需求提升,许多应用如GitHub和npm已强制启用2FA(双重身份验证)。2FA通过用户名、密码及动态验证码增强账号安全性。若手机丢失或TOTP应用失效,可使用开启2FA时生成的recovery code登录并重新绑定。推荐使用大厂的TOTP工具,如Microsoft Authenticator、Google Authenticator等,避免小应用停服风险。若无备份码,只能通过人工申诉找回账号。
3504 15
github和npm开启2FA双重身份验证无法登陆
|
编解码 安全 Linux
技术笔记:SELinux详解
技术笔记:SELinux详解
698 0
|
存储 JavaScript 前端开发
什么是全局污染?怎么避免全局污染?
什么是全局污染?怎么避免全局污染?
593 0