Підручник з Apache NiFi

⚡ Розумний підсумок

У навчальному посібнику Apache NiFi пояснюється платформа інтеграції даних з відкритим кодом, розроблена для автоматизованого та надійного потоку даних між системами. Lessохоплюють архітектуру, процесори, термінологію, функції, встановлення, варіанти використання, переваги, недоліки та найкращі практики для розгортання у виробничому середовищі.

  • 🔁 Потокове проектування: NiFi використовує візуальне полотно для побудови потоків даних з налаштовуваних процесорів, з'єднаних маршрутизованими чергами.
  • 🏗️ Видали більше Archiтекстура: Веб-сервер, контролер потоку та репозиторії поєднуються для масштабованого та відмовостійкого переміщення даних.
  • Багата бібліотека процесорів: Сотні процесорів обробляють Kafka, MQTT, REST API, бази даних, файлові системи та хмарні джерела.
  • 🔒 Сильна безпека: TLS, багатокористувацька авторизація та зашифровані репозиторії забезпечують управління корпоративними даними.
  • 📊 Походження від початку до кінця: Кожен FlowFile є tracпередається від джерела до місця призначення для аудиту, налагодження та відповідності вимогам.
  • 🤖 Готовність до конвеєра штучного інтелекту: Поєднуйте NiFi з кінцевими точками LLM та векторними базами даних для робочих процесів генерації з доповненим пошуком даних.

Підручник з Apache NiFi

Підсумок підручника Apache NiFi

Цей підручник Apache NiFi охоплює всі основні та складні теми з нуля. Ви дізнаєтесь про такі поняття, як визначення NiFi, історія, архітектура, функції, процес встановлення, випадки використання. Ви також дізнаєтесь, чому вам потрібно використовувати apache NiFi, і дізнаєтесь про найкращі методи роботи з apache NiFi.

Що таке Apache NiFi?

Apache NiFi це програмне забезпечення з відкритим кодом для автоматизації та керування потоком даних між системами. Це потужна та надійна система для обробки та розповсюдження даних. Він забезпечує веб-інтерфейс користувача для створення, моніторингу та керування потоками даних. У ньому є процес потоку даних із можливістю налаштування та модифікації для зміни даних під час виконання.

Apache NiFi легко розширюється за допомогою розробки спеціальних компонентів.

Навіщо використовувати Apache NIfi?

Ось причини використання Apache Nifi:

  • Дозволяє завантажувати дані в NiFi з численних джерел даних і створювати файли потоку
  • Він пропонує контроль у реальному часі, який допомагає вам керувати переміщенням даних між будь-яким джерелом і пунктом призначення
  • Візуалізуйте DataFlow на рівні підприємства
  • Надайте загальні інструменти та розширення
  • Дозволяє скористатися наявними бібліотеками та Java функціональність екосистеми
  • Допомагає організаціям інтегрувати Nifi з існуючою інфраструктурою
  • NiFi розроблено для масштабування в кластерах, які пропонують гарантовану доставку даних
  • Візуалізуйте та відстежуйте продуктивність, поведінку в бюлетені потоку, який пропонує розуміння та вбудовану документацію
  • Допомагає запускати та зупиняти компоненти окремо або на рівні групи
  • Це допомагає вам прослуховувати, отримувати, розділяти, агрегувати, маршрутизувати, перетворювати та перетягувати потік даних

Історія Apache NiFi

  • Розроблявся в NSA більше восьми років
  • 2014 р. – це було передано програмному забезпеченню Apache Foundation
  • 2015 — NiFi став офіційною частиною пакету Apache Project Suite
  • Відтоді кожні 6-8 тижнів Apache NiFi випускає нове оновлення

NiFi Archiтектура

Apache NiFi має добре продуману архітектуру. Після отримання даних із зовнішніх джерел вони представлені як FlowFile всередині архітектури Apache NiFi.

NiFi Archiтектура
NiFi Archiтектура

Ось ключові компоненти архітектури NiFi

Компонент Nifi Опис
FlowFile FlowFile — це вихідні дані з приєднаною до них метаінформацією. Це дозволяє обробляти не тільки CSV або інші дані на основі записів, але також зображення, відео, аудіо або будь-які інші двійкові дані.
Процесор Flowfile Виконує роботу, яка є будівельним блоком потоку даних у NiFi.
Контролер потоку Веде облік того, як підключаються процеси. Він керує потоками та їх виділеннями, які використовують усі процеси.
веб-сервер Веб-сервер містить команди та API NiFi на основі HTTP.
Розширення Існує багато типів розширень NiFi, які працюють і виконуються в JVM.
Connection Діє як зв’язок між процесорами, які містять чергу, і зв’язками, які впливають на те, куди маршрутизуються дані.
Зворотний тиск Зупиніть перевантаження системи, контролюючи кількість або розмір даних файлів потоку, які можна зберігати в черзі.
Група процесів Група процесів - це набір процесів і їх зв'язків, який приймає і відправляє дані за допомогою портів.
Репозиторій Flowfile У репозиторії FlowFile NiFi зберігає track стану, який містить детальну інформацію про даний FlowFile, активний у потоці.
Репозиторій вмісту Сховище вмісту — це область, де знаходяться фактичні байти вмісту даного FlowFile.
Репозиторій походження Репозиторій походження — це область, де збираються всі дані про походження.

Функції Apache NiFi

  • NiFi підтримує буферизацію всіх даних у черзі та пропонує можливість зворотного тиску, оскільки ці черги можуть досягати визначених обмежень
  • NiFi дозволяє встановити одну або декілька схем пріоритетності
  • Забезпечує процесори підключення для багатьох джерел даних
  • Підтримка будь-якого пристрою, який працює Java
  • Ідеально підходить для місць з обмеженим доступом
  • Підтримка усунення несправностей і оптимізації потоку
  • Пропонує автентифікацію/авторизацію на основі ролей
  • Дозволяє завантажувати, відновлювати та відтворювати окремі файли
  • Створюйте свої процесори, служби контролерів тощо
  • Забезпечити шифрування вмісту, зв’язок через захищені протоколи
  • Забезпечує швидку розробку та ефективне тестування
  • Дозволяє розробляти прості однофункціональні компоненти, які можна повторно використовувати та комбінувати для створення складніших потоків
  • Дозволяє ізолювати завантажувач класів для полегшення керування залежностями

Як встановити Apache NiFi

Нижче наведено крок за кроком процес встановлення Apache NiFi

Крок 1) Перейдіть до посилання,

і натисніть «Продовжити підписку»

Встановіть Apache NiFi

Крок 2) На наступній сторінці,

Натисніть «Прийняти умови»

Встановіть Apache NiFi

Крок 3) Ви побачите цю сторінку,

Дякуємо за підписку на цей продукт! Ми обробляємо ваш запит.

Встановіть Apache NiFi

Крок 4) Оновіть сторінку через 5 хвилин.

Натисніть «Продовжити до налаштування»

Встановіть Apache NiFi

Крок 5) На наступній сторінці,

Залиште налаштування за замовчуванням і натисніть «Продовжити до запуску»

Встановіть Apache NiFi

Крок 6) На наступній сторінці,

Натисніть Запустити. Можливо, вам знадобиться створити ключ

Встановіть Apache NiFi

Крок 7) Ви побачите це повідомлення про успіх.

Щиро вітаю! Екземпляр цього програмного забезпечення успішно розгорнуто на EC2!

Встановіть Apache NiFi

Крок 8) Примітка,

Ідентифікатор екземпляра та загальнодоступний DNS екземпляра EC2

Встановіть Apache NiFi

Крок 9) У групі безпеки,

Додайте правило всього трафіку для вхідного та вихідного

Встановіть Apache NiFi

Крок 10) Щоб отримати доступ до Nifi,

просто використовуйте URL

http://publicdns:8080/nifi

У нашому випадку це робиться

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

користувач: адмін

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

Встановіть Apache NiFi

Крок 11) Ти побачиш,

Домашній екран NiFi

Встановіть Apache NiFi

Випадки використання Nifi

Нижче наведено список випадків використання Apache NiFi:

Промисловість Використання
Страхування
  • Аналіз ризиків і андеррайтингу
  • Аналітика претензій
  • Страхування на основі використання
  • Розробка нового вироби
Охорона здоров'я
  • Один вид пацієнта
  • Моніторинг життєво важливих показників у реальному часі
  • Оптимізація ЕМВ
  • Оптимізація ланцюга поставок
телекомунікація
  • Поодинокий погляд замовника
  • CDR аналіз
  • Динамічний розподіл пропускної здатності
Manufacturing
  • Профілактичне обслуговування
  • Оптимізація ланцюга поставок
  • Контроль якості
Нафтогазова промисловість
  • Моніторинг у реальному часі
  • Єдиний вид на Operaції
  • Прогнозне обслуговування
  • Archive & Analytics
  • Класифікація неструктурованих даних
Фінансові послуги
  • Анти-відмивання грошей
  • Шахрайство - виявлення
  • Управління ризиками

Найкращі практики Запуск Apache NiFi

  • Ідеально підходить для розділення тестових/розробних/виробничих середовищ у NiFi
  • Ви повинні розділити свій потік на групи процесів
  • Використовуйте правила імен, коментарі та мітки
  • Розділіть свої проекти на три частини: прийом, тестування та моніторинг
  • Використовуйте унікальні імена для змінних

Недолік Nifi

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

Поширені запитання

NiFi забезпечує візуальний потік даних з низьким кодом, вбудованою маршрутизацією та перетворенням. Kafka — це основа обміну повідомленнями; Airflow керує пакетними завданнями. NiFi часто переміщує дані між Kafka та наступними пунктами призначення.

Так. NiFi отримує потокові дані, викликає кінцеві точки моделі та направляє прогнози до сховища. За допомогою баз даних Kafka, MiNiFi та векторних баз даних він створює комплексні робочі процеси генерації на основі штучного інтелекту та доповненої пошуком інформації.

Інструменти штучного інтелекту пропонують ланцюжки процесорів, генерують фрагменти мови виразів та пояснюють шаблони потоків. Вони пришвидшують розробку та допомагають новачкам зрозуміти логіку конфігурації та маршрутизації NiFi.

FlowFile – це дані, що передаються через NiFi. Він містить контент, а також атрибути, такі як метадані, походження та маршрутна інформація, які процесори використовують для прийняття рішень у потоці даних.

NiFi підтримує TLS, багатокористувацьку авторизацію, LDAP, Kerberos, OIDC та зашифровані репозиторії. Політики на основі ролей обмежують, хто може переглядати, змінювати або керувати певними потоками даних.

NiFi масштабується горизонтально за допомогою кластерів, вертикально — за допомогою додавання ядер, а також через черги зворотного тиску. Агенти MiNiFi на периферії передають дані в центральний кластер NiFi.

NiFi — це повноцінний сервер із розширеним веб-інтерфейсом для проектування потоків даних. MiNiFi — це легкий агент, який працює на периферії та пересилає дані до NiFi.

Початківці створюють свій перший потік за лічені дні. Опанування кластеризації, безпеки, користувацьких процесорів та налаштування високої пропускної здатності займає від двох до чотирьох місяців досвіду роботи у виробничих проектах.

Підсумуйте цей пост за допомогою: