API для статистики потоковой передачи Spark

Я ищу API, который позволяет получить доступ к статистике потоковой передачи Spark, которая доступна на вкладке «Потоковая передача» на сервере истории.

Меня в основном интересует значение времени пакетной обработки, но оно не доступно напрямую через REST API, по крайней мере, согласно документации: https://spark.apache.org/docs/latest/monitoring.html#rest-api

введите здесь описание изображения

Есть идеи, как получить различную информацию, например, на вкладке «Потоковая передача» или запущенном задании на сервере истории?


person Marcin    schedule 22.06.2017    source источник


Ответы (2)


Конечная точка метрик доступна на том же порту, что и пользовательский интерфейс Spark на узле драйвера. http://<host>:<sparkUI-port>/metrics/json/

В названии показателей, связанных с потоковой передачей, есть .StreamingMetrics:

Пример из местного тестового задания:

local-1498040220092.driver.printWriter.snb.StreamingMetrics.streaming.lastCompletedBatch_processingDelay: {
value: 30
},
local-1498040220092.driver.printWriter.snb.StreamingMetrics.streaming.lastCompletedBatch_processingEndTime: {
value: 1498124090031
},
local-1498040220092.driver.printWriter.snb.StreamingMetrics.streaming.lastCompletedBatch_processingStartTime: {
value: 1498124090001
},
local-1498040220092.driver.printWriter.snb.StreamingMetrics.streaming.lastCompletedBatch_schedulingDelay: {
value: 1
},
local-1498040220092.driver.printWriter.snb.StreamingMetrics.streaming.lastCompletedBatch_submissionTime: {
value: 1498124090000
},
local-1498040220092.driver.printWriter.snb.StreamingMetrics.streaming.lastCompletedBatch_totalDelay: {
value: 31
},
local-1498040220092.driver.printWriter.snb.StreamingMetrics.streaming.lastReceivedBatch_processingEndTime: {
value: 1498124090031
},
local-1498040220092.driver.printWriter.snb.StreamingMetrics.streaming.lastReceivedBatch_processingStartTime: {
value: 1498124090001
} 

Чтобы получить время обработки, нам нужно diff local-StreamingMetrics.streaming.lastCompletedBatch_processingEndTime - StreamingMetrics.streaming.lastCompletedBatch_processingStartTime

person maasg    schedule 22.06.2017

Поскольку Spark 2.2.0 был выпущен в июле, через месяц после вашего сообщения, я полагаю, ваша ссылка относится к: spark 2.1.0. Очевидно, REST API был расширен для Spark Streaming, см. Spark 2.2. 0.

Поэтому, если у вас все еще есть возможность обновить версию Spark, я рекомендую это сделать. Затем вы можете получать данные из всех пакетов с конечной точкой:

/applications/[app-id]/streaming/batches
person its_a_paddo    schedule 18.08.2017