2015-04-14 1 views
9

Каким образом можно написать дату из Кафки в Кассандру? Я ожидал бы, что это будет решена проблема, но, похоже, нет стандартного адаптера. Многие люди, похоже, используют Шторм для чтения из Кафки, а затем пишут в Кассандру, но шторм кажется несколько излишним для простых операций ETL.Потоковые данные из Кафки в Кассандру в реальном времени

+0

Так же, как и обновление - мы пошли с Spark Streaming настолько хорошо. Тестирование DataStax Spark теперь – EugeneMi

+1

Кроме того, Kafka 3.0 будет иметь Kafka Connect - структуру для построения соединителей. В конце концов, вероятно, у них тоже будет разъем C *. Как я уже говорил, Spark Streaming работает для нас очень хорошо. Прост в использовании, и он заботится о отказоустойчивости и масштабируемости для вас. – EugeneMi

ответ

4

Мы сильно используя Кафку и Кассандру через шторм

Мы полагаемся на Шторма, потому что:

  • там, как правило, много распределенной обработки (между узлами) шагов, прежде чем результат оригинального сообщения попаданием Cassandra (Топология штормовых болтов)

  • Нам не нужно поддерживать потребительское состояние Kafka (смещение) самостоятельно - соединитель Storm-Kafka делает это для нас, когда все продукты оригинального сообщения попадают в Storm

  • Обработка сообщений распределяются по узлам с Бурей изначально

В противном случае, если это очень простой случай, вы можете эффективно читать сообщения от Кафки и написать результат Кассандру без помощи Бури

+1

Спасибо! Где Шторм продолжает компенсировать Кафку? Можете ли вы гарантировать ровно один раз обработку сообщений, если смещение не сохраняется в той же транзакции, что и обработанные данные в Cassandra? Кроме того, вы, ребята, заглянули в Spark Streaming? – EugeneMi

+0

В нашем конкретном случае это гарантия «по крайней мере одна». Это прекрасно - мы разработали большую часть наших операций обработки как идемпотент. Я слышал о гарантиях «точно-один раз» в Storm Trident, но это микро-пакет, так же как и Spark Streaming. – viktortnk

1

В недавнем выпуске Kafka появилась концепция соединителя для поддержки источников и поглотителей в качестве концепций первого класса в дизайне. При этом вам не нужна потоковая инфраструктура для перемещения данных в/из Kafka. Вот разъем Cassandra для Kafka, который вы можете использовать: https://github.com/tuplejump/kafka-connect-cassandra

Смежные вопросы