Was ist Hadoop Streaming?

Hadoop-Streaming ist ein Hilfsprogramm der Hadoop-Distribution, mit dem Programme zur Analyse von Big Data ausgeführt werden können. Es gibt verschiedene Sprachen, mit denen dies durchgeführt werden kann, wie Java, Scala, Unix, Perl, Python und viele mehr. Das Dienstprogramm hilft uns beim Erstellen und Ausführen von Map Reduction-Jobs, wobei jede ausführbare Datei oder jedes Skript der Mapper und / oder Reduzierer ist.

Definition

Es ist eine Hadoop-Distribution mit Utility. Das Dienstprogramm hilft uns, bestimmte MapReduce-Jobs mit einer ausführbaren Datei oder dem Skript als Mapper und / oder Reduzierer zu erstellen und auszuführen.

Verstehen

Es gibt Java-Dienstprogramme, die von der Hadoop-Distribution bereitgestellt werden und als Hadoop-Streaming bezeichnet werden. Das Dienstprogramm ist in einer JAR-Datei gepackt. Mit dem Dienstprogramm können wir MapReduce-Jobs mit einem ausführbaren Skript erstellen und ausführen. Darüber hinaus können wir ausführbare Skripte erstellen, um Mapper- und Reducer-Funktionen auszuführen. Die ausführbaren Skripte werden mit einem Befehl an das Hadoop-Streaming übergeben. Nachdem die Skripts an das Hadoop-Streaming übergeben wurden, erstellt das Hadoop-Streaming-Dienstprogramm eine Zuordnung, reduziert Jobs und sendet sie an den Cluster. Diese Jobs können auch mit diesem Dienstprogramm überwacht werden.

Wie funktioniert es?

Das für Mapper und Reducer angegebene Skript funktioniert wie folgt:

Nach der vollständigen Initialisierung des Mapper-Skripts wird die Instanz des Skripts mit verschiedenen Prozess-IDs gestartet. Die ausgeführte Mapper-Task nimmt die Eingabezeilen und übergibt sie an die Standardeingabe. Gleichzeitig werden die Ausgaben der Standardausgabe des Prozesses vom Mapper gesammelt. Es konvertiert jede Zeile in ein Schlüssel-Wert-Paar. Die Menge der Schlüssel-Wert-Paare wird dann als Ausgabe vom Mapper gesammelt. Das Schlüsselwertpaar wird basierend auf dem ersten Tabulatorzeichen ausgewählt. Der Teil der Zeile bis zur ersten Registerkarte wird als Schlüssel ausgewählt, während der Rest der Zeile als wertvoller Teil ausgewählt wird. Falls die Registerkarte in einer Zeile nicht vorhanden ist, wird die Gesamtzeile als Schlüssel ausgewählt und es gibt keinen Wertteil für die Zeile. Dies kann an die Geschäftsanforderungen angepasst werden.

Zweck der Verwendung von Hadoop Streaming

Es wird für die Datenaufnahme in Echtzeit verwendet, die in verschiedenen Echtzeit-Apps verwendet werden kann. Es gibt verschiedene Echtzeit-Apps wie das Beobachten von Aktienportfolios, die Aktienmarktanalyse, das Kommentieren von Wetterberichten und Verkehrswarnungen, die mithilfe von Hadoop-Streaming durchgeführt werden.

Arbeiten von Hadoop Streaming

Im Folgenden finden Sie ein einfaches Beispiel für die Funktionsweise von Hadoop-Streaming:

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

Der Eingabebefehl wird zum Bereitstellen des Eingabeverzeichnisses verwendet, während der Ausgabebefehl zum Bereitstellen des Ausgabeverzeichnisses verwendet wird. Der Mapper-Befehl wird zum Angeben der ausführbaren Mapper-Klasse verwendet, während der Reduktionsbefehl zum Angeben der ausführbaren Reduktionsklasse verwendet wird.

Vorteile von Hadoop Streaming

Nachfolgend sind die Vorteile von Hadoop-Streaming aufgeführt:

1. Verfügbarkeit

Hierfür muss keine separate Software installiert und verwaltet werden. Es gibt andere Tools wie ein Schweinestock, der installiert werden kann. Ich muss separat verwaltet werden.

2. Lernen

Es ist nicht erforderlich, neue Technologien zu erlernen. Hadoop-Streaming kann mit minimalen Unix-Kenntnissen für die Datenanalyse genutzt werden.

3. Reduzieren Sie die Entwicklungszeit

Es erfordert das Schreiben von Mapper- und Reducer-Code während der Entwicklung von Streaming-Anwendungen in Unix. Die gleiche Arbeit mit der Java MapReduce-Anwendung ist jedoch komplexer und muss erst kompiliert, dann getestet, dann gepackt, gefolgt vom Exportieren der JAR-Datei und dann ausgeführt werden.

4. Schnellere Konvertierung

Das Konvertieren von Daten von einem Format in ein anderes mithilfe von Hadoop-Streaming nimmt nur sehr wenig Zeit in Anspruch. Wir können es verwenden, um Daten von einer Textdatei in eine Sequenzdatei und dann wieder von einer Sequenzdatei in eine Textdatei und viele andere zu konvertieren. Dies kann mithilfe von Eingabe- und Ausgabeformatoptionen im Hadoop-Streaming erreicht werden.

5. Testen

Eingabe- und Ausgabedaten können mithilfe von Hadoop-Streaming mit Unix oder Shell Script schnell getestet werden.

6. Voraussetzung für das Geschäft

Für einfache Geschäftsanforderungen wie einfache Filteroperationen und einfache Aggregationsoperationen können wir dies mit Unix verwenden.

7. Leistung

Mit Hadoop-Streaming können wir beim Arbeiten mit Streaming-Daten eine bessere Leistung erzielen. Es gibt auch einige Nachteile von Hadoop-Streaming, die durch die Verwendung anderer Tools im Hadoop-Paket wie Kafka, flume, spark behoben werden.

Warum brauchen wir Hadoop Streaming?

Es hilft bei der Echtzeit-Datenanalyse, da die MapReduce-Programmierung auf einem Cluster mit mehreren Knoten viel schneller ausgeführt wird. Es gibt verschiedene Technologien wie Spark Kafka und andere, die beim Hadoop-Streaming in Echtzeit helfen.

Wie hilft Ihnen diese Technologie beim beruflichen Aufstieg?

Heutzutage ziehen alle großen Unternehmen zur Datenanalyse nach Hadoop, und viele von ihnen benötigen möglicherweise die Analyse von Echtzeitdaten. Die Forderung nach Nutzung von Echtzeitdaten und Verarbeitung von Tag zu Tag und dieser Technologie schafft viel Spielraum für eine individuelle Karriereentwicklung.

Fazit

Es bietet eine Vielzahl von Vorteilen für die Echtzeit-Datenverarbeitung mit Streaming-Daten.

Empfohlene Artikel

Dies ist eine Anleitung zu Hadoop Streaming. Hier diskutieren wir die Definition, das Konzept, die Vor- und Nachteile von Hadoop Streaming. Sie können auch unsere anderen Artikelvorschläge durchgehen, um mehr zu erfahren.

  1. Was ist Hadoop Cluster?
  2. Was ist Data Mining?
  3. Was ist Datenvisualisierung?
  4. Was ist Datenmodellierung?
  5. Komplette Anleitung zu Kafka Tools

Kategorie: