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 Opisy Konstrukcyjne
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 śledzi stan szczegółów, jakie posiada na temat danego pliku FlowFile aktywnego 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 adresu URL

http://publicdns:8080/nifi

W naszym przypadku tak się dzieje

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

Użytkownik: 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ć

Podsumowanie

  • Apache NiFi to oprogramowanie typu open source służące do automatyzacji i zarządzania przepływem danych pomiędzy systemami
  • Rozwiązanie NiFi zostało zaprojektowane z myślą o skalowaniu w klastrach, które gwarantują dostarczanie danych
  • Nifi był rozwijany w NSA przez ponad osiem lat
  • Po pobraniu danych ze źródeł zewnętrznych są one reprezentowane jako FlowFile w architekturze Apache NiFi.
  • FlowFile, procesor, kontroler, serwer WWW, połączenie, ciśnienie zwrotne, repozytorium to ważne elementy architektury NiFi
  • Język wyrażeń NiFi obsługuje każde działające urządzenie Java
  • Możesz łatwo zainstalować NiFi na AWS
  • NiFi jest wykorzystywane w różnych branżach, takich jak między innymi opieka zdrowotna, ubezpieczenia, telekomunikacja, produkcja, finanse, ropa i gaz
  • Najlepsza praktyka polega na podzieleniu projektów na trzy części: pozyskiwanie, testowanie i monitorowanie