通过WebUI查看Structured Streaming作业统计信息-阿里云开发者社区

开发者社区> 阿里云EMR> 正文

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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
+ 订阅

阿里巴巴开源大数据技术团队成立阿里云EMR技术圈, 每周推送前沿技术文章,直播分享经典案例、在线答疑,营造纯粹的开源大数据氛围,欢迎加入!加入钉钉群聊阿里云E-MapReduce交流2群,点击进入查看详情 https://qr.dingtalk.com/action/joingroup?code=v1,k1,cNBcqHn4TvG0iHpN3cSc1B86D1831SGMdvGu7PW+sm4=&_dt_no_comment=1&origin=11

官方博客
官网链接