Учебники

Учебник Nifi

Что такое Apache NiFi?

Apache NiFi — это программное обеспечение с открытым исходным кодом для автоматизации и управления потоком данных между системами. Это мощная и надежная система для обработки и распространения данных. Он предоставляет веб-интерфейс пользователя для создания, мониторинга и управления потоками данных. Он имеет настраиваемый и изменяемый процесс потока данных, который может изменять данные во время выполнения. Это легко расширяется за счет разработки пользовательских компонентов.

В этом уроке вы узнаете

Зачем использовать Apache NIfi?

Вот причины использования Apache Nifi:

  • Позволяет принимать данные для извлечения данных из NiFi из многочисленных источников данных и создания потоковых файлов.
  • Он предлагает контроль в реальном времени, который помогает вам управлять перемещением данных между любым источником и пунктом назначения
  • Визуализация DataFlow на уровне предприятия
  • Обеспечить общие инструменты и расширения
  • Позволяет использовать преимущества существующих библиотек и функциональность экосистемы Java
  • Помогает организациям интегрировать Nifi с существующей инфраструктурой
  • NiFi предназначен для масштабирования в кластерах, которые предлагают гарантированную доставку данных
  • Визуализация и мониторинг производительности, поведения в потоковом бюллетене, который предлагает понимание и встроенную документацию
  • Помогает запускать и останавливать компоненты отдельно или на уровне группы
  • Это помогает вам прослушивать, извлекать, разделять, объединять, маршрутизировать, преобразовывать и перетаскивать поток данных

История Apache NiFi

  • Разработано в АНБ более восьми лет
  • 2014 — пожертвовано в фонд Apache Software Foundation
  • 2015 — NiFi стал официальной частью Apache Project Suite
  • С тех пор каждые 6-8 недель Apache NiFi выпускает новое обновление

Нифи Архитектура

Apache NiFi имеет продуманную архитектуру. Как только данные извлекаются из внешних источников, они представляются как FlowFile в архитектуре Apache NiFi.

Вот ключевые компоненты архитектуры NiFi

Нифи Компонент Описание
FlowFile FlowFile — это исходные данные с прикрепленной к ним метаинформацией. Он позволяет обрабатывать не только данные CSV или другие данные на основе записей, но также изображения, видео, аудио или любые другие двоичные данные.
Flowfile процессор Выполняет работу, которая выступает в качестве строительного блока потока данных в NiFi.
Регулятор потока Ведет запись о том, как процессы связаны. Он управляет потоками и их распределением, которые используют все процессы.
Веб сервер Веб-сервер содержит HTTP-команды и API NiFi.
расширение Существует много типов расширений NiFi, которые работают и работают в JVM.
соединение Действует как связующее звено между процессорами, которые содержат очередь и отношения, которые влияют на направление данных.
Обратное давление Остановите перегрузку системы, контролируя количество или размер данных потоковых файлов, которые могут храниться в очереди.
Группа процессов Группа процессов — это набор процессов и их соединений, которые получают и отправляют данные с помощью портов.
Flowfile Repository В репозитории FlowFile NiFi отслеживает состояние сведений о конкретном FlowFile, который активен в потоке.
Репозиторий контента Репозиторий контента — это область, где существуют фактические байты контента данного FlowFile.
Хранилище прованс Хранилище провенанса — это область, где собираются все данные о происхождении.

Apache NiFi Особенности

  • NiFi поддерживает буферизацию всех данных в очереди и предлагает возможность обратного давления, поскольку эти очереди могут достигать определенных пределов
  • NiFi позволяет установить одну или несколько схем приоритизации
  • Предоставляет процессоры соединения для многих источников данных
  • Поддержите любое устройство, которое работает на Java
  • Идеально подходит для мест с ограниченным доступом
  • Поддержка для устранения неполадок и оптимизации потока
  • Предлагает аутентификацию / авторизацию на основе ролей
  • Позволяет загружать, восстанавливать и воспроизводить отдельные файлы
  • Создайте свои процессоры, службы контроллера и многое другое
  • Обеспечить шифрование контента, связь по защищенным протоколам
  • Обеспечивает быструю разработку и эффективное тестирование.
  • Позволяет разрабатывать простые однофункциональные компоненты, которые можно использовать повторно и комбинировать для создания более сложных потоков.
  • Позволяет изолировать загрузчик классов для более простого управления зависимостями

Как установить Apache NiFi

Шаг 1) Перейдите по ссылке и нажмите «Продолжить подписку»

Шаг 2) На следующей странице нажмите «Принять условия»

Шаг 3) Вы увидите эту страницу

Шаг 4) Обновите страницу через 5 минут. Нажмите «Перейти к настройке»

Шаг 5) На следующей странице оставьте настройки по умолчанию и нажмите «Продолжить запуск»

Шаг 6) На следующей странице нажмите Launch. Вам может понадобиться создать ключ

Шаг 7) Вы увидите это сообщение об успехе.

Шаг 8) Обратите внимание, идентификатор экземпляра и общедоступный DNS экземпляра EC2

Шаг 9) В группе безопасности добавьте правило трафика ко входящим и исходящим

Шаг 10) Чтобы получить доступ к Nifi, просто используйте URL

Http: // publicdns: 808 / Nifi

В нашем случае это становится

http://ec2-100-26-156-57.compute-1.amazonaws.com:8080/nifi/

Пользователь : admin

Пароль : Идентификатор экземпляра

Шаг 11) Вы увидите домашний экран NiFi

Примеры использования Nifi

Промышленность Применение
страхование
  • Анализ рисков и андеррайтинга
  • Аналитика претензий
  • Страхование на основе использования
  • Разработка нового продукта
Здравоохранение
  • Единый вид пациента
  • Мониторинг показателей жизнедеятельности в режиме реального времени
  • EMR оптимизация
  • Оптимизация цепочки поставок
телекоммуникация
  • Единый взгляд клиента
  • CDR анализ
  • Динамическое распределение пропускной способности
Производство
  • Профилактическое обслуживание
  • Оптимизация цепочки поставок
  • Контроль качества
Нефть и Газ- Промышленность
  • Мониторинг в реальном времени
  • Единый вид операции
  • Прогнозирующее обслуживание
  • Архив & Аналитика
  • Классификация неструктурированных данных
Финансовые Услуги
  • Противодействие отмыву денег
  • Обнаружение мошенничества
  • Риск- управление данными

Лучшие практики Запуск Apache NiFi

  • Идеально подходит для разделения тестовых / dev / производственных сред в NiFi
  • Вы должны разбить свой поток на группы процессов
  • Используйте соглашение об именах, используйте комментарии и метки
  • Организуйте свои проекты в три этапа: прием, тестирование и мониторинг
  • Используйте уникальные имена для переменных

Недостаток нифи

  • Нужен точный контроль безопасности и соответствия
  • Вы должны очень хорошо знать основную систему при работе с Apache NiFi
  • Необходимо поддерживать цепочку хранения данных
  • Транспорт / обмен сообщениями может оказаться недостаточно
  • Потребности в доступе к данным превышают доступные ресурсы для транспортировки
  • Не все данные созданы одинаково
  • SSL и авторизация на уровне темы могут быть недостаточными

Резюме

  • Apache NiFi — это программное обеспечение с открытым исходным кодом для автоматизации и управления потоком данных между системами.
  • NiFi предназначен для масштабирования в кластерах, которые предлагают гарантированную доставку данных
  • Нифи был разработан в АНБ более восьми лет
  • Как только данные извлекаются из внешних источников, они представляются как FlowFile в архитектуре Apache NiFi.
  • FlowFile, процессор, контроллер, веб-сервер, подключение, обратное давление, хранилище — важные компоненты архитектуры NiFi
  • Nifi поддерживает любое устройство, которое работает на Java
  • Вы можете легко установить NiFi на AWS
  • NiFi используется в различных отраслях, таких как здравоохранение, страхование, телекоммуникации, производство, финансы, нефть и газ и другие.
  • В качестве лучшей практики организуйте свои проекты на три части: прием, тестирование и мониторинг