Wat is Hadoop Streaming?

Hadoop-streaming is een hulpprogramma dat wordt geleverd met Hadoop-distributie dat kan worden gebruikt om programma's uit te voeren voor analyse van big data. Er zijn verschillende talen die kunnen worden gebruikt om dit uit te voeren, zoals Java, Scala, Unix, Perl, Python en nog veel meer. Het hulpprogramma helpt ons bij het maken en uitvoeren van kaarten om taken te verminderen met elk uitvoerbaar bestand of script als mapper en / of verkleiner.

Definitie

Het is een Hadoop-distributie met hulpprogramma. Hulpprogramma helpt ons om specifieke MapReduce-taken te maken en uit te voeren met een uitvoerbaar bestand of het script als mapper en / of verkleiner.

Begrip

Er zijn Java-hulpprogramma's geleverd door de Hadoop-distributie die Hadoop-streaming worden genoemd. Het hulpprogramma is verpakt in een JAR-bestand. Met behulp van het hulpprogramma kunnen we MapReduce-taken maken en uitvoeren met een uitvoerbaar script. Bovendien kunnen we uitvoerbare scripts maken om mapper- en reductiefuncties uit te voeren. De uitvoerbare scripts worden doorgegeven aan Hadoop-streaming met behulp van een opdracht. Nadat de scripts zijn doorgegeven aan Hadoop-streaming, maakt het Hadoop-streaminghulpprogramma een kaart en verkleint u taken en verzendt u deze naar het cluster. Deze taken kunnen ook worden gecontroleerd met dit hulpprogramma.

Hoe werkt het?

Het script dat is opgegeven voor mapper en reducer werkt als volgt-

Na de volledige initialisatie van het mapper-script, wordt het exemplaar van het script met verschillende proces-id's gestart. De mapper-taak neemt tijdens het uitvoeren de invoerregels en geeft deze door aan de standaardinvoer. Tegelijkertijd worden de outputs van de standaardoutput van het proces verzameld door de mapper. Het zet elke regel om in een sleutel / waarde-paar. De set sleutel / waarde-paren wordt vervolgens verzameld als de uitvoer van de mapper. Het sleutelwaardepaar wordt geselecteerd op basis van het eerste tabteken. Het gedeelte van de regel tot het eerste tabblad wordt als sleutel geselecteerd, terwijl de rest van de regel als waardevol onderdeel wordt geselecteerd. In het geval dat het tabblad niet in een regel aanwezig is, wordt de totale regel als sleutel geselecteerd en is er geen waardegedeelte voor de regel. Dit kan worden aangepast aan de bedrijfsbehoeften.

Doel van het gebruik van Hadoop Streaming

Het wordt gebruikt voor real-time gegevensopname die kan worden gebruikt in verschillende realtime-apps. Er zijn verschillende real-time apps zoals het bekijken van aandelenportefeuilles, aandelenmarktanalyse, het vertellen van weerberichten, verkeersmeldingen die worden gedaan met behulp van Hadoop-streaming.

Werken van Hadoop Streaming

Hieronder is een eenvoudig voorbeeld van hoe Hadoop-streaming werkt:

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

Het invoercommando wordt gebruikt om de invoermap te verschaffen, terwijl het uitvoercommando wordt gebruikt om de uitvoermap te verschaffen. De opdracht mapper wordt gebruikt om de uitvoerbare mapper-klasse op te geven, terwijl de opdracht reducer wordt gebruikt om de uitvoerbare reducer-klasse op te geven.

Voordelen van Hadoop Streaming

Hieronder staan ​​de voordelen van Hadoop-streaming:

1. Beschikbaarheid

Dit vereist geen extra afzonderlijke software die moet worden geïnstalleerd en beheerd. Er zijn andere hulpmiddelen zoals een varken, bijenkorf die kan worden geïnstalleerd. Ik moet deze afzonderlijk beheren.

2. leren

Het is niet nodig om nieuwe technologieën te leren. Hadoop-streaming kan worden gebruikt met minimale Unix-vaardigheden voor gegevensanalyse.

3. Verminder de ontwikkeltijd

Het vereist om mapper- en verloopcode te schrijven tijdens het ontwikkelen van streaming-applicaties in Unix, terwijl hetzelfde werk met behulp van de Java MapReduce-applicatie complexer is en eerst moet worden gecompileerd, dan getest, vervolgens verpakt, gevolgd door het exporteren van het JAR-bestand en vervolgens uitvoeren.

4. Snellere conversie

Het kost heel weinig tijd om gegevens van het ene formaat naar het andere te converteren met Hadoop-streaming. We kunnen het gebruiken voor het converteren van gegevens van tekstbestand naar reeksbestand en dan weer van reeksbestand naar tekstbestand en vele anderen. Dit kan worden bereikt met behulp van invoerformaat- en uitvoerformaatopties in Hadoop-streaming.

5. Testen

Invoer- en uitvoergegevens kunnen snel worden getest met behulp van Hadoop-streaming met Unix of Shell Script.

6. Vereiste voor het bedrijfsleven

Voor eenvoudige zakelijke vereisten, zoals eenvoudige filterbewerkingen en eenvoudige aggregatiebewerkingen, kunnen we dit gebruiken met Unix.

7. Prestaties

Met Hadoop-streaming kunnen we betere prestaties krijgen tijdens het werken met streaming-gegevens. Er zijn ook verschillende nadelen van Hadoop-streaming die worden aangepakt door andere tools in het Hadoop-pakket te gebruiken, zoals Kafka, flume, spark.

Waarom hebben we Hadoop Streaming nodig?

Het helpt bij real-time gegevensanalyse die veel sneller is met behulp van MapReduce-programmering die op een multi-node cluster wordt uitgevoerd. Er zijn verschillende technologieën zoals Spark Kafka en andere die in realtime Hadoop-streaming helpen.

Hoe deze technologie u helpt bij de groei van uw carrière?

Tegenwoordig verhuizen alle grote ondernemingen naar Hadoop voor hun data-analyse en voor veel van hen is mogelijk een analyse van realtime-gegevens vereist. De vraag naar het gebruik van real-time gegevens en verwerking van dezelfde dag per dag en deze technologie creëert veel ruimte voor individuele loopbaangroei.

Conclusie

Het biedt een enorm scala aan voordelen voor verschillende realtime gegevensverwerking met behulp van streaming gegevens.

Aanbevolen artikelen

Dit is een gids voor Hadoop Streaming. Hier bespreken we de definitie, het concept, de voor- en nadelen van Hadoop Streaming. U kunt ook door onze andere voorgestelde artikelen gaan voor meer informatie-

  1. Wat is Hadoop Cluster?
  2. Wat is datamining?
  3. Wat is datavisualisatie
  4. Wat is gegevensmodellering?
  5. Complete gids voor Kafka Tools

Categorie: