Пример Zeppelin с Spark структурированной потоковой передачей - PullRequest
0 голосов
/ 01 октября 2019

Я пытаюсь визуализировать потоки структурированных искр в Zeppelin. Я могу добиться с помощью приемника памяти ( spark.apache ). Но это не надежное решение для больших объемов данных. Что будет лучшим решением?

Пример реализации или демонстрация были бы полезны.

Спасибо,

Rilwan

1 Ответ

0 голосов
/ 05 октября 2019

Спасибо, что задали вопрос !! Имея более двух лет опыта разработки инструментов мониторинга Spark, я думаю, что смогу разрешить ваши сомнения !!

Существует два типа обработки, когда данные начинают обрабатываться как поток.

  1. Дискретизированный поток или DStream : в этом режиме spark предоставляет вам данные в формате RDD, и вам необходимо написать собственную логику для обработки RDD.
    Pros:
    1. Если вы хотите выполнить некоторую обработку перед сохранением потоковых данных, RDD является лучшим способом обработки по сравнению с DataFrame.
    2. DStream предоставляет удобный потоковый интерфейс, в котором графически отображается объем обработанных данных. Проверьте эту ссылку - https://spark.apache.org/docs/2.2.0/streaming-programming-guide.html#monitoring-applications
    Минусы :
    1. Обработка необработанных СДР не так удобна и проста.

  2. Структурированный поток : в этом режиме spark предоставляет вам данные в формате DataFrame, вам нужно указать, где хранить / отправлять данные.
    Плюсы :
    1. Потоковая передача Spark поставляется с некоторыми предопределенными источниками и приемниками, которые очень распространены, и 95% реальных сценариев можно разрешить, подключив их. Проверьте эту ссылку - https://spark.apache.org/docs/latest/structured-streaming-programming-guide.html
    Минусы :
    1. Для структурированной потоковой передачи недоступен интерфейс потоковой передачи :(. Хотя вы можете получить метрики и создать собственный интерфейс. Проверьте эту ссылку - https://spark.apache.org/docs/latest/structured-streaming-programming-guide.html#monitoring-streaming-queries
    Вы также можете сохранить метрики в некотором текстовом файле, прочитать файл в Zeppelin через spark.read.json и построить свой собственный график.

...