Создание сервиса с помощью spark и spark streaming

#apache-spark #pyspark #rabbitmq #spark-streaming

#apache-spark #pyspark #rabbitmq #spark-streaming

Вопрос:

Я немного прочитал о потоковой передаче spark, и я хотел бы знать, возможно ли передавать данные из пользовательского источника с помощью rabbitmq в качестве брокера и передавать эти данные через поток spark, где алгоритмы машинного обучения и обработки графиков Spark будут выполняться на них и отправлять их в другие файловые системы / базы данных / информационные панели или приемники клиентов.

P.S Я пишу на python, у меня нет никакого опыта использования spark, и могу ли я назвать то, чего я пытаюсь достичь, микросервисом?

Спасибо.

Ответ №1:

Я считаю, что spark Structured streaming более подходит и прост в реализации, чем spark-streaming. Структурированная потоковая передача Spark соответствует приведенной ниже концепции

Источник (чтение из RabbitMQ) — Преобразование (применение алгоритма ML) — Приемник (запись в базу данных)

Вы можете сослаться на этот проект github для примера структурированной потоковой передачи Spark.

Я не думаю, что есть встроенный spark connector, который может использовать RabbitMQ. Я знаю, что есть один для Kafka, но вы можете написать свой собственный пользовательский исходный код и приемник (написать это без каких-либо знаний spark может быть сложно).

Вы можете запустить это как spark-job, и вам нужно создать слой службы оболочки, который запускает это как spark job (spark job launcher) или использовать spark rest api

https://spark.apache.org/docs/latest/structured-streaming-programming-guide.html

Комментарии:

1. Я планирую изучить spark. Я хотел знать, возможно ли создать что-то подобное с помощью spark и процесса его создания

2. ага!! вы могли бы сделать это в spark.