Можно ли использовать потоковую пару Kafka-Spark для данных в пакетном режиме и в режиме реального времени? - PullRequest
0 голосов
/ 30 сентября 2019

H Все,

В настоящее время я работаю над разработкой архитектуры, которая должна быть способна обрабатывать как данные в реальном времени, так и пакетные данные (поступающие из разнородных источников и точечных решений - сторонних инструментов). Существующая архитектура является старой школой и использует в основном СУБД (я не буду вдаваться в подробности).

Я придумал два разных конвейера - один для пакетных данных (sqoop / spark / hive)) и другой для данных в реальном времени (поток kafka-spark).

Но мне сказали использовать потоковую пару kafka-spark для обработки всех видов данных.

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

Заранее спасибо!

Ответы [ 2 ]

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

Я придумал два разных конвейера - один для пакетных данных (sqoop / spark / hive), а другой для данных в реальном времени (kafka-spark stream).

Pipeline 1: Sqoop - хороший выбор для пакетной загрузки, но он будет снижать производительность, потому что базовая архитектура все еще находится на пониженном уровне. Хотя есть варианты запустить sqoop на spark, но я этого не пробовал. Когда данные находятся в HDFS, вы можете использовать куст, который является отличным решением для пакетной обработки. Сказав, что вы можете заменить sqoop на Spark, если вы беспокоитесь о времени выборки RDMS. Вы также можете сделать пакетные преобразования в искре. Я бы сказал, что это хорошее решение.

Pipeline 2: Потоковая передача Kafka и Spark - наиболее очевидный выбор и хороший выбор. Но, если вы используете Confluent dist. Кафки, то вы могли бы заменить большинство искровых преобразований на K-SQL, K-Streams, которые будут создавать преобразования в реальном времени.

Я бы сказал, хорошо иметь отдельную систему для пакетной обработки и одну для реального времени. ,Вот что такое лямбда-архитектура. Но если вы ищете более унифицированную платформу, вы можете попробовать Apache Beam , которая предоставляет унифицированную платформу для пакетной обработки и обработки в реальном времени. Вы можете выбрать один из нескольких участников для выполнения вашего запроса.

Надеюсь, это поможет :)

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

Лямбда-архитектура была бы идеальным вариантом! Надеюсь, что эта ссылка даст вам достаточно идей: https://dzone.com/articles/lambda-architecture-how-to-build-a-big-data-pipeli

Большое спасибо.

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