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

本文涉及的产品
EMR Serverless StarRocks,5000CU*H 48000GB*H
EMR Serverless Spark 免费试用,1000 CU*H 有效期3个月
简介: 从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上集成更多有用的信息,方便大家查看和监控作业的运行状态。

目录
相关文章
|
数据可视化 Linux 数据中心
服务器版Rstudio-server初体验丨随时随地云端处理数据,不再担心电脑崩盘重启了!
服务器版Rstudio-server初体验丨随时随地云端处理数据,不再担心电脑崩盘重启了!
|
SQL 缓存 分布式计算
SparkSQL与Hive metastore Parquet转换
Spark SQL为了更好的性能,在读写Hive metastore parquet格式的表时,会默认使用自己的Parquet SerDe,而不是采用Hive的SerDe进行序列化和反序列化
SparkSQL与Hive metastore Parquet转换
|
搜索推荐 数据挖掘 PyTorch
Py之albumentations:albumentations库函数的简介、安装、使用方法之详细攻略续篇
Py之albumentations:albumentations库函数的简介、安装、使用方法之详细攻略续篇
Py之albumentations:albumentations库函数的简介、安装、使用方法之详细攻略续篇
|
6月前
|
分布式计算 Hadoop Java
CentOS中构建高可用Hadoop 3集群
这个过程像是在一个未知的森林中探索。但当你抵达终点,看到那个熟悉的Hadoop管理界面时,所有的艰辛都会化为乌有。仔细观察,尽全力,这就是构建高可用Hadoop 3集群的挑战之旅。
256 21
|
11月前
|
机器学习/深度学习 监控 算法
机器学习在图像识别中的应用:解锁视觉世界的钥匙
机器学习在图像识别中的应用:解锁视觉世界的钥匙
1440 95
|
SQL 存储 关系型数据库
什么是MySQL Workbench
【10月更文挑战第17天】什么是MySQL Workbench
1283 0
|
11月前
|
设计模式 监控 Java
分布式系统架构4:容错设计模式
这是小卷对分布式系统架构学习的第4篇文章,重点介绍了三种常见的容错设计模式:断路器模式、舱壁隔离模式和重试模式。断路器模式防止服务故障蔓延,舱壁隔离模式通过资源隔离避免全局影响,重试模式提升短期故障下的调用成功率。文章还对比了这些模式的优缺点及适用场景,并解释了服务熔断与服务降级的区别。尽管技术文章阅读量不高,但小卷坚持每日更新以促进个人成长。
303 12
|
Web App开发 前端开发 测试技术
Selenium 4新特性解析:关联定位器及其他创新功能
【10月更文挑战第6天】Selenium 是一个强大的自动化测试工具,广泛用于Web应用程序的测试。随着Selenium 4的发布,它引入了许多新特性和改进,使得编写和维护自动化脚本变得更加容易。本文将深入探讨Selenium 4的一些关键新特性,特别是关联定位器(Relative Locators),以及其他一些重要的创新功能。
819 2
|
应用服务中间件 Shell PHP
pbootcms模板报错提示PHP Warning: Unknown: open_basedir restriction
pbootcms模板报错提示PHP Warning: Unknown: open_basedir restriction
|
存储 算法 Java
深入理解Java内存管理
本文将通过通俗易懂的语言,详细解析Java的内存管理机制。从JVM的内存结构入手,探讨堆、栈、方法区等区域的具体作用和原理。进一步分析垃圾回收机制及其调优方法,最后讨论内存泄漏的常见场景及防范措施。希望通过这篇文章,帮助读者更好地理解和优化Java应用的内存使用。