經過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源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索