Samouczek Apache NiFi

⚡ Inteligentne podsumowanie

W samouczku Apache NiFi wyjaśniono platformę integracji danych typu open source, która została zaprojektowana w celu zautomatyzowania i zapewnienia niezawodnego przepływu danych między systemami. LessPoruszane tematy obejmują architekturę, procesory, terminologię, funkcje, instalację, przypadki użycia, zalety, wady i najlepsze praktyki wdrożeń produkcyjnych.

  • 🔁 Projektowanie oparte na przepływie: NiFi wykorzystuje wizualne płótno do budowania przepływów danych z konfigurowalnych procesorów połączonych za pomocą kolejek trasowanych.
  • 🏗️. Rozproszone Archistruktura: Serwer WWW, kontroler przepływu i repozytoria łączą się, aby zapewnić skalowalny i odporny na błędy przesył danych.
  • ⚙️ Biblioteka Rich Processor: Setki procesorów obsługują Kafkę, MQTT, interfejsy API REST, bazy danych, systemy plików i źródła w chmurze.
  • 🔒 Silne bezpieczeństwo: Protokół TLS, autoryzacja wielodostępna i szyfrowane repozytoria zapewniają nadzór nad danymi przedsiębiorstwa.
  • 📊 Pochodzenie od początku do końca: Każdy plik FlowFile jest tracprzesyłane od źródła do miejsca przeznaczenia w celu przeprowadzenia audytu, debugowania i zapewnienia zgodności.
  • 🤖 Gotowy na AI Pipeline: Połącz NiFi z punktami końcowymi LLM i bazami danych wektorowych, aby uzyskać przepływy pracy z rozszerzonym wyszukiwaniem.

Samouczek Apache NiFi

Podsumowanie samouczka Apache NiFi

Ten samouczek Apache NiFi obejmuje wszystkie podstawowe i zaawansowane tematy od podstaw. Poznasz takie pojęcia jak definicja NiFi, historia, architektura, funkcje, proces instalacji, przypadki użycia. Dowiesz się również, dlaczego musisz używać Apache NiFi i najlepszych praktyk uruchamiania Apache NiFi.

Co to jest Apache NiFi?

Apache NiFi to oprogramowanie typu open source służące do automatyzacji i zarządzania przepływem danych pomiędzy systemami. Jest to wydajny i niezawodny system do przetwarzania i dystrybucji danych. Zapewnia internetowy interfejs użytkownika umożliwiający tworzenie, monitorowanie i kontrolowanie przepływów danych. Posiada wysoce konfigurowalny i modyfikowalny proces przepływu danych w celu modyfikowania danych w czasie wykonywania.

Apache NiFi można łatwo rozszerzyć poprzez opracowanie niestandardowych komponentów.

Dlaczego warto używać Apache NIfi?

Oto powody, dla których warto używać Apache Nifi:

  • Umożliwia pozyskiwanie danych w celu pobierania danych z wielu źródeł danych do NiFi i tworzenia plików przepływu
  • Oferuje kontrolę w czasie rzeczywistym, która pomaga zarządzać przepływem danych pomiędzy dowolnym źródłem i miejscem docelowym
  • Wizualizuj DataFlow na poziomie przedsiębiorstwa
  • Zapewnij wspólne narzędzia i rozszerzenia
  • Umożliwia korzystanie z istniejących bibliotek i Java funkcjonalność ekosystemu
  • Pomaga organizacjom zintegrować Nifi z istniejącą infrastrukturą
  • Rozwiązanie NiFi zostało zaprojektowane z myślą o skalowaniu w klastrach, które gwarantują dostarczanie danych
  • Wizualizuj i monitoruj wydajność i zachowanie w biuletynie przepływu, który zapewnia wgląd i dokumentację wbudowaną
  • Pomaga uruchamiać i zatrzymywać komponenty oddzielnie lub na poziomie grupy
  • Pomaga słuchać, pobierać, dzielić, agregować, kierować, przekształcać oraz przeciągać i upuszczać Dataflow

Historia Apache NiFi

  • Opracowywany w NSA przez ponad osiem lat
  • 2014 — Został przekazany firmie Apache Software Foundation
  • 2015- NiFi stało się oficjalną częścią pakietu Apache Project Suite
  • Od tego czasu co 6-8 tygodni Apache NiFi wydaje nową aktualizację

NiFi Architektura

Apache NiFi ma przemyślaną architekturę. Po pobraniu danych ze źródeł zewnętrznych są one reprezentowane jako FlowFile wewnątrz architektury Apache NiFi.

NiFi Architektura
NiFi Architektura

Oto kluczowe komponenty architektury NiFi

Komponent Nifi OPIS
Plik przepływu FlowFile to oryginalne dane z dołączonymi metainformacjami. Umożliwia przetwarzanie nie tylko danych CSV lub innych danych opartych na rekordach, ale także zdjęć, filmów, dźwięku i innych danych binarnych.
Procesor Flowfile Wykonuje pracę stanowiącą element budulcowy przepływu danych w NiFi.
Regulator przepływu Rejestruje sposób, w jaki procesy są ze sobą powiązane. Zarządza wątkami i ich przydziałami, z których korzystają wszystkie procesy.
web Server Serwer internetowy obsługuje polecenia i interfejs API oparte na protokole HTTP firmy NiFi.
Rozbudowa Istnieje wiele typów rozszerzeń NiFi, które działają i są wykonywane w ramach JVM.
Przyłącze Działa jako połączenie między procesorami zawierającymi kolejkę i relacje, które wpływają na to, gdzie dane są kierowane.
Ciśnienie zwrotne Zatrzymaj przepełnienie systemu, kontrolując ilość lub rozmiar danych plików przepływowych, które można przechowywać w kolejce.
Grupa Procesowa Grupa procesów to zbiór procesów i ich połączeń, które odbierają i wysyłają dane za pomocą portów.
Repozytorium Flowfile W repozytorium FlowFile firma NiFi przechowuje track stanu szczegółów, jakie posiada na temat danego pliku FlowFile, który jest aktywny w przepływie.
Repozytorium treści Repozytorium treści to obszar, w którym znajdują się rzeczywiste bajty treści danego FlowFile.
Repozytorium pochodzenia Repozytorium pochodzenia to obszar, w którym gromadzone są wszystkie dane dotyczące zdarzeń pochodzenia.

Funkcje Apache NiFi

  • NiFi obsługuje buforowanie wszystkich danych w kolejce i oferuje możliwość wykonania nacisku wstecznego, ponieważ kolejki te mogą osiągnąć określone limity
  • NiFi umożliwia ustawienie jednego lub więcej schematów priorytetyzacji
  • Zapewnia procesory połączeń dla wielu źródeł danych
  • Obsługuj każde działające urządzenie Java
  • Idealny do miejsc o ograniczonej łączności
  • Wsparcie w rozwiązywaniu problemów i optymalizacji przepływu
  • Oferuje uwierzytelnianie/autoryzację opartą na rolach
  • Umożliwia pobieranie, odzyskiwanie i odtwarzanie pojedynczych plików
  • Twórz swoje procesory, usługi kontrolerów i nie tylko
  • Zapewnij szyfrowanie treści i komunikację za pośrednictwem bezpiecznych protokołów
  • Umożliwia szybki rozwój i efektywne testowanie
  • Umożliwia tworzenie prostych komponentów o pojedynczej funkcji, które można ponownie wykorzystywać i łączyć, aby tworzyć bardziej złożone przepływy
  • Umożliwia izolację modułu ładującego klasy w celu łatwiejszego zarządzania zależnościami

Jak zainstalować Apache NiFi

Poniżej znajduje się krok po kroku proces instalacji Apache NiFi

Krok 1) Iść do połączenie,

i kliknij „Kontynuuj subskrypcję”

Zainstaluj Apache NiFi

Krok 2) Na następnej stronie

Kliknij „Akceptuj warunki”

Zainstaluj Apache NiFi

Krok 3) Zobaczysz tę stronę,

Dziękujemy za subskrypcję tego produktu! Przetwarzamy Twoją prośbę.

Zainstaluj Apache NiFi

Krok 4) Odśwież stronę po 5 minutach.

Kliknij „Kontynuuj konfigurację”

Zainstaluj Apache NiFi

Krok 5) Na następnej stronie

Zachowaj ustawienia domyślne i kliknij „Kontynuuj uruchamianie”

Zainstaluj Apache NiFi

Krok 6) Na następnej stronie

Kliknij Uruchom. Może być konieczne utworzenie klucza

Zainstaluj Apache NiFi

Krok 7) Zobaczysz ten komunikat o powodzeniu.

Gratulacje! Instancja tego oprogramowania została pomyślnie wdrożona na EC2!

Zainstaluj Apache NiFi

Krok 8) Uwaga,

Identyfikator instancji i publiczny DNS instancji EC2

Zainstaluj Apache NiFi

Krok 9) W grupie bezpieczeństwa

Dodaj regułę dotyczącą całego ruchu dla ruchu przychodzącego i wychodzącego

Zainstaluj Apache NiFi

Krok 10) Aby uzyskać dostęp do Nifi,

po prostu użyj URL

http://publicdns:8080/nifi

W naszym przypadku tak się dzieje

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

System Rezerwacji Sal Smart Spaces® rozwiązuje problem zarządzania rezerwacjami sal, biurek i przestrzeni wspólnych. Zmiany w ostatniej chwili są od razu widoczne, co ułatwia pracę recepcji i użytkownikom. Kalendarz w czasie rzeczywistym pokazuje wolne zasoby, ich parametry, a nawet zaplanowane sprzątanie.: Admin

Hasło: Identyfikator instancji

Zainstaluj Apache NiFi

Krok 11) Zobaczysz,

Ekran główny NiFi

Zainstaluj Apache NiFi

Przypadki użycia Nifi

Poniżej znajduje się lista przypadków użycia Apache NiFi:

Przemysłowe Stosowanie
Ubezpieczenia
  • Analiza ryzyka i underwritingu
  • Analityka roszczeń
  • Ubezpieczenie oparte na użytkowaniu
  • Rozwój nowych produktów
HealthCare
  • Pojedynczy widok pacjenta
  • Monitorowanie parametrów życiowych w czasie rzeczywistym
  • Optymalizacja EMR
  • Optymalizacja łańcucha dostaw
Telekomunikacja
  • Pojedynczy widok klienta
  • Analiza CDR
  • Dynamiczna alokacja przepustowości
Produkcja
  • Konserwacja zapobiegawcza
  • Optymalizacja łańcucha dostaw
  • Kontrola jakości
Przemysł naftowy i gazowy
  • Monitorowanie na żywo
  • Pojedynczy widok na Operacja
  • Konserwacja predykcyjna
  • Archii analityka
  • Klasyfikacja danych nieustrukturyzowanych
Usługi finansowe
  • Przeciwdziałanie praniu pieniędzy
  • Wykrywanie oszustw
  • Ryzyko – zarządzanie danymi

Najlepsze praktyki Uruchamianie Apache NiFi

  • Idealny do oddzielenia środowisk testowych/programistycznych/produkcyjnych w NiFi
  • Powinieneś podzielić przepływ na grupy procesów
  • Stosuj konwencję nazewnictwa, używaj komentarzy i etykiet
  • Uporządkuj swoje projekty w trzech częściach: pozyskiwanie, testowanie i monitorowanie
  • Użyj unikalnych nazw zmiennych

Wada Nifi

  • Potrzebujesz precyzyjnych kontroli bezpieczeństwa i zgodności
  • Pracując z Apache NiFi, musisz bardzo dobrze znać podstawowy system
  • Musi utrzymywać łańcuch dostaw danych
  • Transport / Wiadomości mogą nie wystarczyć
  • Potrzeby dostępu do danych przekraczają dostępne zasoby do transportu
  • Nie wszystkie dane są tworzone jednakowo
  • Autoryzacja na poziomie SSL i tematu może nie wystarczyć

FAQ

NiFi zapewnia wizualny przepływ danych o niskim kodzie z wbudowanym routingiem i transformacją. Kafka to szkielet przesyłania wiadomości; Airflow koordynuje zadania wsadowe. NiFi często przesyła dane między Kafką a docelowymi systemami.

Tak. NiFi pobiera dane strumieniowe, wywołuje punkty końcowe modelu i kieruje prognozy do pamięci masowej. Dzięki Kafce, MiNiFi i wektorowym bazom danych, buduje kompleksowe przepływy pracy oparte na sztucznej inteligencji i generowaniu danych wspomaganym wyszukiwaniem.

Narzędzia AI sugerują łańcuchy procesorów, generują fragmenty języka wyrażeń i wyjaśniają wzorce przepływu. Przyspieszają rozwój i pomagają początkującym zrozumieć konfigurację NiFi oraz logikę routingu.

Plik FlowFile to dane przesyłane przez NiFi. Zawiera on treść oraz atrybuty, takie jak metadane, pochodzenie i informacje o routingu, które procesory wykorzystują do podejmowania decyzji w przepływie danych.

NiFi obsługuje TLS, autoryzację wielodostępną, LDAP, Kerberos, OIDC i szyfrowane repozytoria. Zasady oparte na rolach ograniczają, kto może przeglądać, modyfikować lub obsługiwać określone przepływy danych.

NiFi skaluje się poziomo poprzez klastry, pionowo poprzez dodawanie rdzeni oraz poprzez kolejki presji zwrotnej. Agenci MiNiFi na krawędzi przesyłają strumieniowo dane do centralnego klastra NiFi.

NiFi to kompletny serwer z bogatym interfejsem internetowym do projektowania przepływów danych. MiNiFi to lekki agent, który działa na brzegu sieci i przekazuje dane do NiFi.

Początkujący budują swój pierwszy przepływ w ciągu kilku dni. Opanowanie klastrowania, bezpieczeństwa, niestandardowych procesorów i dostrajania pod kątem wysokiej przepustowości zajmuje od dwóch do czterech miesięcy doświadczenia w projektach produkcyjnych.

Podsumuj ten post następująco: