Как получить доступ к метрикам потокового запроса? - PullRequest
0 голосов
/ 16 ноября 2018

Я использую Spark 2.4.

Я перевожу приложение Spark Streaming на структурированную потоковую передачу.

Я работаю над генерацией метрик для каждого пакета и хочу контролировать статистикудля каждой микро партии.Меня интересуют метрики processingDelay, schedulingDelay и totalDelay каждой микробатки и где их найти в структурированной потоковой передаче.

Я пробовал следующий подход, но он не генерирует никакой статистики.

val recentBatchInfos = new StatsReportListener(60).batchInfos
val numberOfRecords = recentBatchInfos.map(_.numRecords).sum

Может кто-нибудь сказать, как использовать контроль над статистикой и генерировать соответствующие метрики?

1 Ответ

0 голосов
/ 27 ноября 2018

Расчетная модель Spark Structured Streaming и Spark Streaming различна.Структурированная потоковая передача использует Dataset абстракцию данных, в то время как Spark Streaming напрямую использует RDD API.В этом случае доступные показатели в структурированном потоке отличаются.

Вы действительно должны использовать StreamingQueryListener , который является интерфейсом мониторинга:

Интерфейс для прослушивания событий, связанных с StreamingQueries.

onQueryProgress(event: QueryProgressEvent): Unit предоставляет вам доступ к текущему StreamingQueryProgress со всеми текущими метриками потоковой передачи.

Консультация Программная отчетность по метрикам с использованием асинхронных API в официальной документации Spark Structured Streaming.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...