通过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上集成更多有用的信息,方便大家查看和监控作业的运行状态。

目录
相关文章
|
4月前
|
机器学习/深度学习 数据挖掘 调度
基于Stacking集成学习的数据回归预测(4种基学习器PLS、SVM、决策、KNN,多种元学习器比选)MATLAB代码
🔥 内容介绍 一、引言:回归预测痛点与集成学习破局之道 1.1 回归预测的应用价值与单一模型局限 在工业质检(如食品成分含量预测)、金融量化(如股价波动预测)、环境监测(如 PM2.5 浓度预测)等场景中,回归预测的精度直接决定决策效果。但实际应用中,单一模型往往存在明显短板: 偏最小二乘(PLS)擅长处理高维共线性数据,却难以拟合非线性关系; 支持向量机(SVM)能捕捉非线性特征,却对参数敏感、泛化能力不稳定; 随机森林(RF)抗过拟合能力强,却在高维数据下训练效率低。 这些局限导致单一模型难以适配复杂数据的多元特征,而集成学习通过 “模型组合” 思路,成为突破精度瓶颈的关键。
|
SQL 缓存 分布式计算
SparkSQL与Hive metastore Parquet转换
Spark SQL为了更好的性能,在读写Hive metastore parquet格式的表时,会默认使用自己的Parquet SerDe,而不是采用Hive的SerDe进行序列化和反序列化
SparkSQL与Hive metastore Parquet转换
|
XML SQL Java
Maven的三种打包方式(jar、shade、assembly)
Maven的三种打包方式(jar、shade、assembly)
6450 0
|
人工智能 运维 并行计算
Sora横空出世,AI视频时代崭露头角,我们准备好了吗?
2024年新春伊始,OpenAI新发布的Sora模型,在AI生成视频赛道扔下一枚深水炸弹,将曾经大火AI视频创业公司的模型直接碾压。
|
算法 Unix API
指数退避(Exponential backoff)在网络请求中的应用
## 一、背景 最近做云服务 API 测试项目的过程中,发现某些时候会大批量调用 API,从而导致限流的报错。在遇到这种报错时,传统的重试策略是每隔一段时间重试一次。但由于是固定的时间重试一次,重试时又会有大量的请求在同一时刻涌入,会不断地造成限流。 这让我回想起两年前在查阅[Celery Task 文档](http://docs.celeryproject.org/en/latest
14713 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
4006 0
|
分布式计算 Hadoop Java
CentOS中构建高可用Hadoop 3集群
这个过程像是在一个未知的森林中探索。但当你抵达终点,看到那个熟悉的Hadoop管理界面时,所有的艰辛都会化为乌有。仔细观察,尽全力,这就是构建高可用Hadoop 3集群的挑战之旅。
445 21
|
存储 缓存 弹性计算
聚宽揭秘:为什么量化研究员喜欢在Kubernetes上使用Fluid简化数据管理?
在量化投研过程中,通过引入阿里云的 ack-fluid 技术,基于 JindoRuntime 的分布式缓存加速,解决了多数据源、弹性扩展、动态挂载等挑战,显著提升了数据处理效率和资源利用率,降低运营成本。
|
自然语言处理 Java
CoreNLP server的开启与使用方法
Ubuntu20.04.2系统本身不含有JDK,而CoreNLP需要依赖JDK进行运行,所以需要先安装好JDK,可以输入java,然后系统会自动提示没有安装JDK,并会推荐安装的版本
514 0
|
存储 运维 Kubernetes
PolarDB-X 数据节点备库重搭
本文主要介绍PolarDB-X中DN(数据节点)备库重搭的背景,以及polardbx-operator上是如何实现DN备库重搭的。
PolarDB-X 数据节点备库重搭