Как получить уведомление о запуске приложения Spark Streaming? - PullRequest
1 голос
/ 27 сентября 2019

Я использую Spark 2.3 (HDP 2.3.0.2.6.5.108-1) и Spark Streaming (JavaInputDStream).

Я пишу тест некоторых компонентов, которые используютпоток искр.Я пытаюсь сделать следующее:

  1. запустить компонент в отдельном потоке, который запускает потоковую обработку с пламенем
  2. дождаться его запуска
  3. отправить уведомление в kafka(прочитано искрой)
  4. подождите, пока он обработан
  5. подтвердите вывод

Однако я застрял на (2) и не знаю какЯ могу по крайней мере проверить, что потоковое задание запущено.Есть ли API, который я могу использовать?

Примечания:

  • У меня есть доступ только к контексту искры, а не к потоковому ... Так что было бы идеально, если бы я могдоступ к таким API из контекста искры.
  • 3 идет после 2, потому что установка искры auto.offset.reset` на самые ранние швы бесполезна: \

1 Ответ

1 голос
/ 28 сентября 2019

Вы должны использовать интерфейс SparkListener и прослушивать излучаемые события, например, onApplicationStart.

Для событий, специфичных для Spark Streaming, используйте интерфейс StreamingListener .

...