Разница между кафкой и нифи - PullRequest
0 голосов
/ 29 ноября 2018

Я новичок в Apache NiFi, но до сих пор весь учебник, который я читаю, говорит об интеграции kafka с Nifi.как это кафка это комплимент от нифи?почему мы не используем Nifi напрямую для публикации нашего сообщения без использования kafka?

Примечание: все учебники, которые я видел, не говорят об этом.

Ответы [ 2 ]

0 голосов
/ 28 марта 2019

Нашел интересный ответ на вопросы сообщества Horthonworks , я делюсь им здесь для полноты картины:

  • Apache NiFi и Apache Kafka - два разных инструмента сразличные варианты использования, которые могут слегка перекрываться.Вот мое понимание целей двух проектов.

    NiFi - это " Простая в использовании, мощная и надежная система для обработки и распространения данных. "

    Это визуальный инструмент (с API REST), который реализует программирование на основе потоков , чтобы позволить пользователю создавать потоки, которые будут принимать данные из большого разнообразия различных источников, выполнять обогащениемаршрутизация и т. д. для данных в процессе их обработки и выдача результатов в различные пункты назначения.В ходе этого процесса он собирает метаданные (происхождение) о том, что произошло с каждым фрагментом данных (FlowFile), когда он пробирался через поток для ведения журнала аудита и устранения неполадок.

  • " Apache Kafka - это переосмысление сообщений публикации-подписки в виде журнала распределенного принятия "

    Это распределенная реализация шаблона публикации-подписки, позволяющая разработчикам подключать программы кдруг друга на разных языках и на большом количестве машин.Это скорее строительный блок для распределенных вычислений, чем универсальное решение для обработки данных.

0 голосов
/ 29 ноября 2018

NiFi и Kafka дополняют в том смысле, что NiFi не является очередью обмена сообщениями, как Apache Kafka.Напротив, Apache NiFi - это инструмент управления потоками данных, или инструмент логистики данных.

Давайте предположим, что такой сценарий: у вас есть сообщения (в формате JSON), которые передаются через Kafka, и вы хотите проверить сообщения, чтобы проверить,в сообщении есть все поля, и если они действительны, вы хотите, чтобы сообщения попадали в HBase.

Здесь NiFi может помочь вам в следующем подходе:

  • NiFi имеет ConsumeKafka процессоры, которые вы можете настроить с вашим брокером Kafka и именем группы.
  • Используйте процессор NiFi ValidateRecord, чтобы проверить, все ли полученные сообщения действительны
  • Если они действительны, вы можетеподключите выход к PutHBaseRecord

Подводя итог, NiFi в основном не позволяет вам писать много шаблонного кода.В этом случае настраиваемая логика для проверки схемы и записи в HBase.

...