Apache NiFi - Введение
Apache NiFi - это мощная, простая в использовании и надежная система для обработки и распределения данных между разнородными системами. Он основан на технологии Niagara Files, разработанной NSA, а затем через 8 лет передан в фонд Apache Software Foundation. Он распространяется под лицензией Apache License Version 2.0, январь 2004 г. Последняя версия Apache NiFi - 1.7.1.
Apache NiFi - это платформа для приема данных в реальном времени, которая может передавать и управлять передачей данных между различными источниками и системами назначения. Он поддерживает широкий спектр форматов данных, таких как журналы, геолокационные данные, социальные сети и т. Д. Он также поддерживает множество протоколов, таких как SFTP, HDFS, KAFKA и т. Д. Эта поддержка широкого спектра источников данных и протоколов делает эту платформу популярной в многие ИТ-организации.
Apache NiFi - Общие характеристики
Общие особенности Apache NiFi следующие:
Apache NiFi предоставляет веб-интерфейс пользователя, который обеспечивает беспроблемное взаимодействие между проектированием, управлением, обратной связью и мониторингом.
Это легко настраивается. Это помогает пользователям с гарантированной доставкой, низкой задержкой, высокой пропускной способностью, динамической приоритизацией, противодавлением и изменением потоков во время выполнения.
Он также предоставляет модуль происхождения данных для отслеживания и мониторинга данных от начала до конца потока.
Разработчики могут создавать свои собственные процессоры и задачи отчетности в соответствии со своими потребностями.
NiFi также обеспечивает поддержку безопасных протоколов, таких как SSL, HTTPS, SSH и другие шифрование.
Он также поддерживает управление пользователями и ролями, а также может быть настроен с помощью LDAP для авторизации.
Apache NiFi - ключевые понятия
Ключевые концепции Apache NiFi следующие:
Process Group - Это группа потоков NiFi, которая помогает пользователю управлять потоками и поддерживать их в иерархическом порядке.
Flow - Он создается для подключения разных процессоров для передачи и изменения данных, если это необходимо, из одного источника данных или источников в другие целевые источники данных.
Processor- Процессор - это модуль Java, отвечающий либо за выборку данных из исходной системы, либо за их хранение в целевой системе. Другие процессоры также используются для добавления атрибутов или изменения содержимого в потоковом файле.
Flowfile- Это базовое использование NiFi, которое представляет собой единственный объект данных, взятых из исходной системы в NiFi. NiFiprocessor вносит изменения в потоковый файл, пока он перемещается от исходного процессора к месту назначения. Различные события, такие как CREATE, CLONE, RECEIVE и т. Д., Выполняются в потоковом файле разными процессорами в потоке.
Event- События представляют собой изменение файла потока при переходе через поток NiFi. Эти события отслеживаются в происхождении данных.
Data provenance - Это репозиторий. Он также имеет пользовательский интерфейс, который позволяет пользователям проверять информацию о потоковом файле и помогает в устранении неполадок, если какие-либо проблемы возникают во время обработки потокового файла.
Преимущества Apache NiFi
Apache NiFi позволяет получать данные с удаленных машин с помощью SFTP и гарантирует происхождение данных.
Apache NiFi поддерживает кластеризацию, поэтому он может работать на нескольких узлах с одним и тем же потоком, обрабатывая разные данные, что увеличивает производительность обработки данных.
Он также предоставляет политики безопасности на уровне пользователя, уровне группы процессов и других модулей.
Его пользовательский интерфейс также может работать по HTTPS, что делает взаимодействие пользователей с NiFi безопасным.
NiFi поддерживает около 188 процессоров, и пользователь также может создавать собственные плагины для поддержки широкого спектра систем данных.
Недостатки Apache NiFi
Когда узел отключается от кластера NiFi, в то время как пользователь вносит в него какие-либо изменения, файл flow.xml становится недействительным. Узел не может подключиться обратно к кластеру, если администратор вручную не скопирует файл flow.xml с подключенного узла.
У Apache NiFi есть проблема с сохранением состояния в случае переключения основного узла, из-за которой процессоры иногда не могут получать данные из систем-источников.