Apache NiFi - wprowadzenie
Apache NiFi to potężny, łatwy w użyciu i niezawodny system do przetwarzania i dystrybucji danych między różnymi systemami. Oparty jest na technologii Niagara Files opracowanej przez NSA, a następnie po 8 latach przekazanej fundacji Apache Software. Jest rozpowszechniany na licencji Apache w wersji 2.0, styczeń 2004. Najnowsza wersja Apache NiFi to 1.7.1.
Apache NiFi to platforma pozyskiwania danych w czasie rzeczywistym, która może przesyłać i zarządzać transferem danych między różnymi źródłami i systemami docelowymi. Obsługuje szeroką gamę formatów danych, takich jak dzienniki, dane geolokalizacyjne, kanały społecznościowe itp. Obsługuje również wiele protokołów, takich jak SFTP, HDFS i KAFKA itp. To wsparcie dla szerokiej gamy źródeł danych i protokołów, dzięki czemu ta platforma jest popularna w wiele organizacji IT.
Apache NiFi - cechy ogólne
Ogólne cechy Apache NiFi są następujące -
Apache NiFi zapewnia internetowy interfejs użytkownika, który zapewnia bezproblemową współpracę między projektowaniem, kontrolą, sprzężeniem zwrotnym i monitorowaniem.
Jest wysoce konfigurowalny. Pomaga to użytkownikom w gwarantowanej dostawie, małych opóźnieniach, dużej przepustowości, dynamicznym ustalaniu priorytetów, ciśnieniu wstecznym i modyfikowaniu przepływów w czasie wykonywania.
Zapewnia również moduł pochodzenia danych do śledzenia i monitorowania danych od początku do końca przepływu.
Programiści mogą tworzyć własne niestandardowe procesory i zadania raportowania zgodnie ze swoimi potrzebami.
NiFi zapewnia również obsługę bezpiecznych protokołów, takich jak SSL, HTTPS, SSH i inne szyfrowanie.
Obsługuje również zarządzanie użytkownikami i rolami, a także można go skonfigurować za pomocą protokołu LDAP do autoryzacji.
Apache NiFi -Key Concepts
Kluczowe koncepcje Apache NiFi są następujące -
Process Group - Jest to grupa przepływów NiFi, która pomaga użytkownikowi zarządzać przepływami i utrzymywać je w sposób hierarchiczny.
Flow - Jest tworzony łącząc różne procesory w celu przesyłania i modyfikowania danych, jeśli jest to wymagane, z jednego źródła danych lub źródeł do innego docelowego źródła danych.
Processor- Procesor to moduł Java odpowiedzialny za pobieranie danych z systemu źródłowego lub przechowywanie ich w systemie docelowym. Inne procesory są również używane do dodawania atrybutów lub zmiany zawartości pliku przepływu.
Flowfile- Jest to podstawowe użycie NiFi, które reprezentuje pojedynczy obiekt danych pobranych z systemu źródłowego w NiFi. NiFiprocess dokonuje zmian w pliku przepływu, gdy jest przenoszony z procesora źródłowego do miejsca docelowego. Różne zdarzenia, takie jak CREATE, CLONE, RECEIVE itp., Są wykonywane na pliku przepływu przez różne procesory w przepływie.
Event- Zdarzenia reprezentują zmianę w pliku przepływu podczas przechodzenia przez przepływ NiFi. Te zdarzenia są śledzone w proweniencji danych.
Data provenance - Jest to repozytorium, posiada również interfejs użytkownika, który umożliwia użytkownikom sprawdzenie informacji o pliku przepływowym i pomaga w rozwiązywaniu problemów, które pojawiają się podczas przetwarzania pliku przepływu.
Zalety Apache NiFi
Apache NiFi umożliwia pobieranie danych ze zdalnych maszyn za pomocą SFTP i gwarantuje pochodzenie danych.
Apache NiFi obsługuje klastrowanie, więc może pracować na wielu węzłach z tym samym przepływem, przetwarzając różne dane, co zwiększa wydajność przetwarzania danych.
Zapewnia również zasady bezpieczeństwa na poziomie użytkownika, grupy procesów i innych modułów.
Jego interfejs użytkownika może również działać na HTTPS, co zapewnia bezpieczną interakcję użytkowników z NiFi.
NiFi obsługuje około 188 procesorów, a użytkownik może również tworzyć niestandardowe wtyczki do obsługi szerokiej gamy systemów danych.
Wady Apache NiFi
Gdy węzeł zostanie odłączony od klastra NiFi, gdy użytkownik wprowadza w nim jakiekolwiek zmiany, plik flow.xml staje się nieważny.Anod nie może połączyć się z klastrem, chyba że administrator ręcznie skopiuje plik flow.xml z podłączonego węzła.
Apache NiFi ma problem z trwałością stanu w przypadku przełącznika węzła głównego, co czasami powoduje, że procesory nie są w stanie pobierać danych z systemów źródłowych.