Wprowadzenie do alternatyw Hadoop

Apache Hadoop to monstrualna platforma, która wykorzystuje kilka innych komponentów, takich jak HDFS, Hive, Spark, YARN i Zookeeper. Służy do przetwarzania i analizy danych pobranych ze źródeł wewnętrznych lub zewnętrznych. Można skalować z kilku maszyn lub serwerów do tysięcy z nich. Istnieje wiele wbudowanych funkcji bibliotecznych, które mogą wykrywać i obsługiwać awarie.

Składniki Hadoop

1) Rozproszony system plików Hadoop (HDFS):

To jest zbiornik danych w Hadoop. Działa na zasadzie danych rozproszonych, w których ogromne zestawy danych są dzielone na małe części i przechowywane na wielu komputerach w klastrze.

2) MapReduce:

Jest to model programowania służący do równoległego wykonywania analiz danych znajdujących się w różnych węzłach klastra.

3) Rój:

Framework Open-Source, który służy do tworzenia zapytań o ustrukturyzowane dane przy użyciu języka Hive-Query. Funkcja indeksowania służy do przyspieszenia procesu wysyłania zapytań.

4) Ambari:

Platforma do monitorowania stanu klastra i automatyzacji operacji. Ma prosty internetowy interfejs użytkownika i można go łatwo zainstalować i skonfigurować.

Lista alternatyw Hadoop

Poniżej znajdują się różne alternatywy Hadoop, które są następujące:

Przetwarzanie wsadowe

Tutaj przetwarzanie odbywa się tylko na danych archiwalnych. Na przykład audyty finansowe i spis są analizą przeprowadzoną na starych danych w celu lepszego przewidywania przyszłych wyników. Te dane mogą zawierać miliardy wierszy i kolumn. Przetwarzanie wsadowe najlepiej nadaje się do przetwarzania dużych danych bez potrzeby analizy w czasie rzeczywistym.

Przetwarzanie w czasie rzeczywistym

Jest również znany jako Przetwarzanie strumieniowe. Tutaj dane są przetwarzane od czasu do czasu, gdy są generowane, aby zapewnić szybki wgląd w prawdopodobne wyniki. Wykrywanie trzęsień ziemi i rynki akcji to najlepsze przykłady, w których analiza w czasie rzeczywistym jest koniecznością.

Apache Spark

Spark jest strukturą używaną wraz z Hadoop do przetwarzania danych wsadowych lub w czasie rzeczywistym na maszynach klastrowych. Może być również używany jako samodzielny, do pobierania i przechowywania danych na serwerach innych firm bez korzystania z HDFS. Jest to produkt typu open source. Zapewnia interfejsy API napisane przy użyciu SCALA, R lub Python, które obsługują ogólne przetwarzanie. Do przetwarzania danych strukturalnych można użyć Spark-SQL. Spark Streaming wykonuje bardzo potrzebne analizy w czasie rzeczywistym. Spark zapewnia wsparcie uczenia maszynowego przy użyciu MLIB. Na koniec przetworzone dane można przeglądać za pomocą Graphix.

Najważniejszą funkcją Spark jest przetwarzanie w pamięci. Całe przetwarzanie danych odbywa się w pamięci, a nie na dysku. Ta metoda oszczędza czas odczytu i zapisu danych wejściowych na dysk i danych wyjściowych z niego. Spark jest błyskawicznie szybki i prawie 100 razy szybszy niż przetwarzanie Hadoop. Cała funkcja jest zdefiniowana i przesłana do kontekstu Spark. Dopiero wtedy przetwarzanie rozpoczyna się od zera. Ta metoda jest znana jako Lazy-wykonanie. Kafka, Flume są używane jako dane wejściowe do przesyłania strumieniowego danych. Dane strukturalne lub nieustrukturyzowane mogą być wykorzystywane przez Spark do analizy. Strumienie danych to wiązka danych dla danego przedziału czasu w Spark Streaming. Są one konwertowane na partie i przekazywane do Spark Engine w celu przetworzenia. Dane strukturalne są przekształcane w ramki danych przed użyciem Spark-SQL do dalszej analizy.

Apache Storm

Apache Storm to także jedna z alternatyw Hadoop, która najlepiej nadaje się do rozproszonej analizy w czasie rzeczywistym. Jest łatwy w konfiguracji, przyjazny dla użytkownika i nie powoduje utraty danych. Burza ma bardzo wysoką moc przetwarzania i zapewnia małe opóźnienia (zwykle w sekundach) w porównaniu do Hadoop.

Przyjrzymy się bliżej przepływowi pracy Storm:

  • Topologia burzy (podobna do DAG, ale fizyczny plan wykonania) jest przesyłana do Nimbus (węzeł główny).
  • Zadania i kolejność ich wykonywania są przekazywane do Nimbus.
  • Nimbus równomiernie rozdziela dostępne zadania do przełożonych (wylewek), a proces jest wykonywany przez węzły robocze (śruby).
  • Zdrowie dziobków i śrub jest stale monitorowane za pomocą uderzeń serca. Po śmierci przełożonego Nimbus przydziela zadanie innemu Węzłu.
  • Jeśli Nimbus umrze, zostanie automatycznie ponownie uruchomiony przez narzędzia monitorujące. Tymczasem przełożeni kontynuują wykonywanie wcześniej przydzielonych zadań.
  • Po ponownym uruchomieniu Nimbus nadal działa od miejsca, w którym się zatrzymał. W związku z tym nie dochodzi do utraty danych, a każde dane przynajmniej raz przechodzi przez topologię.
  • Topologia będzie działała, dopóki Nimbus nie zostanie zakończony lub nie zostanie całkowicie zamknięty.
  • Storm wykorzystuje Zookeepera do monitorowania Nimbusa i innych węzłów nadzorczych.

Duże zapytanie

Bazy danych są wykorzystywane do przetwarzania transakcyjnego. Menedżerowie tworzą raporty i analizują dane z różnych baz danych. Wprowadzono hurtownie danych w celu pobierania danych z wielu baz danych w całej organizacji. Google opracowało Big query, które jest hurtownią danych zarządzaną samodzielnie. Do obsługi bardzo złożonych zapytań mogą być potrzebne bardzo wydajne serwery i maszyny z węzłami, które mogą ogromnie kosztować. Utworzenie infrastruktury może potrwać do kilku tygodni. Po osiągnięciu maksymalnego progu należy go przeskalować. Aby rozwiązać te problemy, Big query zapewnia miejsce do przechowywania w postaci chmury Google. W razie potrzeby węzły procesu roboczego są skalowane do rozmiaru centrum danych, aby wykonać złożone zapytanie w ciągu kilku sekund. Płacisz za to, czego używasz, tj. Za zapytania. Google dba o zasoby oraz ich utrzymanie i bezpieczeństwo. Uruchamianie zapytań w normalnych bazach danych może trwać od minut do godzin. Duże zapytanie przetwarza dane znacznie szybciej i nadaje się głównie do przesyłania strumieniowego danych, takich jak gry online i Internet przedmiotów (IoT). Prędkość przetwarzania wynosi nawet miliardy rzędów na sekundę.

Presto

Kwerendy Presto można użyć do łączenia danych z różnych źródeł w organizacji i ich analizy. Dane mogą znajdować się w gałęzi Hive, RDBMS lub Cassandra. Presto najlepiej nadaje się dla analityków, którzy oczekują całego zapytania w ciągu kilku minut. Architektura jest analogiczna do klasycznego systemu zarządzania bazami danych z wykorzystaniem wielu węzłów w klastrze. Został opracowany przez Facebooka do przeprowadzania analiz i wyszukiwania informacji z ich wewnętrznych danych, w tym z hurtowni danych 300PB. Ponad 30 000 zapytań jest uruchamianych na ich danych w celu skanowania petabajtów dziennie. Inne wiodące firmy, takie jak Airbnb i Dropbox, również korzystają z Presto.

Polecany artykuł

To był przewodnik po alternatywach Hadoop. Tutaj omawiamy komponenty Hadoop, przetwarzanie wsadowe i przetwarzanie w czasie rzeczywistym alternatyw Hadoop. Możesz także zapoznać się z następującymi artykułami, aby dowiedzieć się więcej:

  1. Zadania administratora Hadoop
  2. Wydajność Hadoop vs SQL
  3. Kariera w Hadoop
  4. Hadoop vs Spark
  5. Administrator Hadoop | Ścieżki umiejętności i kariery

Kategoria: