经过WebUI查看Structured Streaming做业统计信息

做者:余根茂,阿里巴巴计算平台事业部EMR团队的技术专家,参与了Hadoop,Spark,Kafka等开源项目的研发工做。目前主要专一于EMR流式计算产品的研发工做。


1. 前言

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


2. 功能介绍

2.1 Query列表

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

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




  • Active Streaming Queries:当前正在运行的queryoop

  • Completed Streaming Queries:已完成的query,包括结束的和失败的queryui





说明spa

Query Name.net

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

Statusorm

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

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。




kill以后状态变为“FINISHED”:


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









咱们能够查看任意时间的Batch的各个执行阶段的时间消耗。





一样的,这里将只会展现“spark.sql.streaming.numRecentProgressUpdates”个Batch的统计信息。若是须要查看更长周期内的统计信息,能够设置“spark.sql.streaming.numRecentProgressUpdates”为更大值。须要注意的是,这会带来必定的内存开销。

3. 小结

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


本文分享自微信公众号 - Apache Spark技术交流社区(E-MapReduce_Spark)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。

相关文章
相关标签/搜索