Co to jest Hadoop Streaming?

Przesyłanie strumieniowe Hadoop to narzędzie dostarczane z dystrybucją Hadoop, które może być używane do uruchamiania programów do analizy dużych zbiorów danych. Istnieje kilka języków, których można użyć do wykonania tego, takich jak Java, Scala, Unix, Perl, Python i wiele innych. Narzędzie pomaga nam w tworzeniu i uruchamianiu map redukujących zadania, przy czym każdy plik wykonywalny lub skrypt jest maperem i / lub reduktorem.

Definicja

Jest to dystrybucja Hadoop z narzędziem. Narzędzie pomaga nam tworzyć i uruchamiać określone zadania MapReduce za pomocą pliku wykonywalnego lub skryptu jako programu mapującego i / lub redukującego.

Zrozumienie

Istnieją narzędzia Java dostarczane przez dystrybucję Hadoop, które nazywane są strumieniowaniem Hadoop. Narzędzie jest spakowane w pliku JAR. Za pomocą narzędzia możemy tworzyć i uruchamiać zadania MapReduce za pomocą skryptu wykonywalnego. Ponadto możemy tworzyć skrypty wykonywalne do uruchamiania funkcji mapujących i redukujących. Skrypty wykonywalne są przekazywane do przesyłania strumieniowego Hadoop za pomocą polecenia. Po przekazaniu skryptów do przesyłania strumieniowego Hadoop narzędzie do przesyłania strumieniowego Hadoop tworzy mapę i zmniejsza zadania i przesyła je do klastra. Te zadania można również monitorować za pomocą tego narzędzia.

Jak to działa?

Skrypt określony dla mapera i reduktora działa jak poniżej-

Po zakończeniu inicjalizacji skryptu mapującego uruchomi on instancję skryptu z różnymi identyfikatorami procesów. Zadanie mapowania podczas działania pobiera linie wejściowe i przekazuje je do standardowego wejścia. Jednocześnie dane wyjściowe ze standardowego wyjścia procesu są gromadzone przez program odwzorowujący. Konwertuje każdą linię na parę klucz-wartość. Zestaw par klucz-wartość jest następnie zbierany jako dane wyjściowe z programu mapującego. Para klucz-wartość jest wybierana na podstawie pierwszego znaku tabulacji. Część linii do początkowej karty jest wybierana jako klucz, podczas gdy reszta linii jest wybierana jako cenna część. W przypadku, gdy zakładka nie jest obecna w linii, wówczas linia jest wybierana jako klucz i nie ma części wartości dla linii. Można to dostosować do potrzeb biznesowych.

Cel korzystania ze strumieniowania Hadoop

Służy do pobierania danych w czasie rzeczywistym, które mogą być używane w różnych aplikacjach w czasie rzeczywistym. Istnieją różne aplikacje w czasie rzeczywistym, takie jak oglądanie portfeli akcji, analiza rynku akcji, narracja raportów pogodowych, ostrzeżenia o ruchu drogowym, które są wykonywane przy użyciu przesyłania strumieniowego Hadoop.

Działanie Hadoop Streaming

Poniżej znajduje się prosty przykład działania przesyłania strumieniowego Hadoop:

$HADOOP_HOME/bin/hadoop jar $HADOOP_HOME/hadoop-streaming.jar \
-input myInputDirs \
-output myOutputDir \
-mapper org.apache.hadoop.mapred.lib.IdentityMapper \
-reducer /bin/wc

Polecenie wejściowe służy do udostępnienia katalogu wejściowego, natomiast polecenie wyjściowe służy do udostępnienia katalogu wyjściowego. Polecenie mapera służy do określenia wykonywalnej klasy mapera, natomiast polecenie reduktora służy do określenia wykonywalnej klasy reduktora.

Zalety przesyłania strumieniowego Hadoop

Poniżej znajdują się zalety przesyłania strumieniowego Hadoop:

1. Dostępność

Nie wymaga to instalowania dodatkowego dodatkowego oprogramowania i zarządzania nim. Istnieją inne narzędzia, takie jak świnia, ul, które można zainstalować. Muszę zarządzać osobno.

2. Uczenie się

Nie wymaga nauki nowych technologii. Przesyłanie strumieniowe Hadoop można wykorzystać przy minimalnych umiejętnościach uniksowych do analizy danych.

3. Skróć czas programowania

Wymaga pisania kodu odwzorowującego i redukującego podczas tworzenia aplikacji do przesyłania strumieniowego w systemie Unix, podczas gdy wykonywanie tej samej pracy przy użyciu aplikacji Java MapReduce jest bardziej złożone i musi zostać najpierw skompilowane, a następnie przetestowane, następnie spakowane, a następnie wyeksportowany plik JAR, a następnie uruchomiony.

4. Szybsza konwersja

Konwersja danych z jednego formatu na inny przy użyciu przesyłania strumieniowego Hadoop zajmuje bardzo mało czasu. Możemy go użyć do konwersji danych z pliku tekstowego do pliku sekwencji, a następnie ponownie z pliku sekwencji do pliku tekstowego i wielu innych. Można to osiągnąć za pomocą opcji formatu wejściowego i formatu wyjściowego w strumieniowaniu Hadoop.

5. Testowanie

Dane wejściowe i wyjściowe można szybko przetestować za pomocą przesyłania strumieniowego Hadoop za pomocą Unixa lub Shell Script.

6. Wymóg dla biznesu

W przypadku prostych wymagań biznesowych, takich jak proste operacje filtrowania i proste operacje agregacji, możemy użyć tego z Uniksem.

7. Wydajność

Dzięki strumieniowaniu Hadoop możemy uzyskać lepszą wydajność podczas pracy z przesyłaniem danych. Istnieje również kilka wad przesyłania strumieniowego Hadoop, które można rozwiązać za pomocą innych narzędzi w pakiecie Hadoop, takich jak Kafka, flume, spark.

Dlaczego potrzebujemy Streaming Hadoop?

Pomaga w analizie danych w czasie rzeczywistym, która jest znacznie szybsza przy użyciu programowania MapReduce działającego w klastrze z wieloma węzłami. Istnieją różne technologie, takie jak Spark Kafka i inne, które pomagają w strumieniowaniu Hadoop w czasie rzeczywistym.

W jaki sposób ta technologia pomoże ci w rozwoju kariery?

Obecnie wszystkie duże przedsiębiorstwa przeprowadzają się do Hadoop w celu analizy danych i wiele z nich może wymagać analizy danych w czasie rzeczywistym. Zapotrzebowanie na wykorzystanie danych w czasie rzeczywistym i przetwarzanie tego samego dnia z dnia na dzień, a ta technologia stwarza wiele możliwości indywidualnego rozwoju kariery.

Wniosek

Oferuje szeroki zakres korzyści dla różnych procesów przetwarzania danych w czasie rzeczywistym z wykorzystaniem przesyłania strumieniowego danych.

Polecane artykuły

To jest przewodnik po Hadoop Streaming. Tutaj omawiamy definicję, koncepcję, zalety i wady Hadoop Streaming. Możesz także przejrzeć nasze inne sugerowane artykuły, aby dowiedzieć się więcej-

  1. Co to jest klaster Hadoop?
  2. Co to jest eksploracja danych?
  3. Co to jest wizualizacja danych
  4. Co to jest modelowanie danych?
  5. Kompletny przewodnik po narzędziach Kafka

Kategoria: