#apache-spark #apache-kafka #cassandra #oracle-cdc
#apache-spark #apache-kafka #кассандра #oracle-cdc
Вопрос:
Я хочу использовать данные CDC из нескольких источников данных, например, cassandra, mysql, Oracle … и т.д. Я просмотрел некоторую документацию для передачи данных cdc в kafka и сохранения данных в темы. Я подумал, не могу ли я писать программы spark для использования данных непосредственно из источника, вместо этого сначала помещая данные в темы kafka, а затем подключая программу spark к темам kafka для дальнейшего использования сообщений. Вот мои несколько вопросов, я пытаюсь найти ответ:
- в чем важность использования kafka между ними вместо прямого использования измененных записей из spark?
- использование kafka в mid не добавит некоторой задержки в систему?
Комментарии:
1. Может быть, потому, что у Spark нет доступной библиотеки для чтения данных cdc, и эти данные могут быть полезны для других систем за пределами только Spark? Кроме того, эти данные CDC существуют на сервере базы данных, где вы, вероятно, не должны запускать код Spark, поскольку он предназначен для распространения
Ответ №1:
Вы, конечно, можете написать свои собственные приложения Spark, которые могут использовать данные, но при этом кажется, что вы изобретаете велосипед. Kafka решает это за вас, поэтому вам не нужно.
Кроме того, Kafka поддерживает получение входных данных из различных источников, а также публикацию данных нескольким подписчикам, включая приложения Spark.
С Kafka проще создавать приложения, поскольку для большинства технологий доступны соединители. Ваше здоровье!
Комментарии:
1. хорошо, спасибо за обмен информацией! только один вопрос, в чем преимущество использования kafka в mid, кроме того, что у него есть соединители для нескольких технологий и он может публиковать данные для нескольких подписчиков.
2. если у меня есть один источник, например, cassandra, и я передаю данные из cassandra в aws s3 с помощью spark, и для этого я использую cassandra-spark connector, можете ли вы указать с этим типом требований, как kafka может быть полезен?
3. Как я уже говорил, если у вас есть соединитель Kafka, который может получать данные из источника, вам не нужно самостоятельно писать код / приложение для этого. В этом преимущество. Приветствия!