Hvad er Hadoop Streaming?

Hadoop-streaming er et værktøj, der leveres med Hadoop-distribution, som kan bruges til at udføre programmer til analyse af big data. Der er flere sprog, der kan bruges til at udføre dette som Java, Scala, Unix, Perl, Python og mange flere. Hjælpeprogrammet hjælper os med at oprette og køre kort reducere job med ethvert eksekverbart eller script som kortlægning og / eller reducer.

Definition

Det er en Hadoop distribution med hjælpeprogram. Hjælpeprogrammet hjælper os med at oprette og køre specifikke MapReduce-job med en eksekverbar eller scriptet som mapper og / eller reducer.

forståelse

Der er java-hjælpeprogrammer, der leveres af Hadoop-distributionen, der kaldes Hadoop-streaming. Hjælpeprogrammet er pakket i en JAR-fil. Ved hjælp af værktøjet kan vi oprette og køre MapReduce-job med et eksekverbart script. Desuden kan vi oprette eksekverbare scripts til at køre kortlægnings- og reduceringsfunktioner. De eksekverbare scripts overføres til Hadoop-streaming ved hjælp af en kommando. Når scripts er overført til Hadoop-streaming, opretter Hadoop-streamingværktøjet et kort og reducerer job og sender dem til klyngen. Disse job kan også overvåges med dette værktøj.

Hvordan virker det?

Det script, der er specificeret til kortlægning og reducer, fungerer som nedenfor-

Efter den komplette initialisering af mapper-scriptet starter det forekomsten af ​​scriptet med forskellige proces-id'er. Kortlægningsopgaven, mens du kører, tager inputlinjerne og overfører den til standardindgangen. Samtidig indsamles output fra processens standardoutput af kortlæggeren. Det konverterer hver linje til et nøgleværdipar. Sættet af nøgleværdipar indsamles derefter som output fra kortlæggeren. Nøgleværdiparret vælges baseret på den første fanebladkarakter. Den del af linjen op til den første fane vælges som nøgle, mens resten af ​​linjen er valgt som en værdifuld del. I tilfælde af at fanen ikke er til stede i en linje, vælges den samlede linje som nøgle, og der er ingen værdiedel for linjen. Dette kan justeres efter forretningsmæssige behov.

Formål at bruge Hadoop Streaming

Det bruges til realtidsindtagelse af data, der kan bruges i forskellige apps i realtid. Der er forskellige apps i realtid som at se aktieporteføljer, markedsanalyse, fortællevejrrapport, trafikalarmer, der udføres ved hjælp af Hadoop-streaming.

Arbejde med Hadoop Streaming

Nedenfor er et simpelt eksempel på, hvordan Hadoop-streaming fungerer:

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

Indgangskommandoen bruges til at tilvejebringe indgangsfortegnelsen, mens udgangskommandoen bruges til at tilvejebringe outputmappen. Mapper-kommandoen bruges til at specificere den eksekverbare mapper-klasse, mens reducer-kommandoen bruges til at specificere den eksekverbare reducer-klasse.

Fordele ved Hadoop Streaming

Nedenfor er fordelene ved Hadoop-streaming:

1. Tilgængelighed

Dette kræver ikke nogen ekstra separat software, der skal installeres og styres. Der er andre værktøjer som en gris, bikube, som kan installeres, og jeg skal administreres separat.

2. Læring

Det kræver ikke at lære nye teknologier. Hadoop-streaming kan udnyttes med minimale Unix-færdigheder til dataanalyse.

3. Reducer udviklingstid

Det kræver at skrive kort og reduceringskode, mens du udvikler streaming-applikationer i Unix, hvorimod det samme arbejde med Java MapReduce-applikation er mere kompliceret og skal kompileres først, derefter test, derefter pakke, efterfulgt af eksportering af JAR-fil og derefter køre.

4. Hurtigere konvertering

Det tager meget lidt tid at konvertere data fra et format til et andet ved hjælp af Hadoop-streaming. Vi kan bruge dem til at konvertere data fra tekstfil til sekvensfil og derefter igen fra sekvensfil til tekstfil og mange andre. Dette kan opnås ved hjælp af inputformat og outputformatindstillinger i Hadoop-streaming.

5. Testning

Input- og outputdata kan hurtigt testes ved hjælp af Hadoop-streaming med Unix eller Shell Script.

6. Krav til forretning

Til enkle forretningskrav som enkle filtreringsoperationer og enkel aggregeringsdrift, kan vi bruge dette sammen med Unix.

7. Ydeevne

Ved hjælp af Hadoop-streaming kan vi få bedre ydelse, mens vi arbejder med streaming-data. Der er også adskillige ulemper ved Hadoop-streaming, som løses ved hjælp af andre værktøjer i Hadoop-pakken som Kafka, flume, spark.

Hvorfor har vi brug for Hadoop Streaming?

Det hjælper med i realtid dataanalyse, som er meget hurtigere ved hjælp af MapReduce-programmering, der kører på en multi-node-klynge. Der er forskellige teknologier som gnist Kafka og andre, som hjælper i realtid Hadoop-streaming.

Hvordan denne teknologi vil hjælpe dig i karrierevækst?

I dag flytter alle større virksomheder til Hadoop for deres dataanalyse, og mange af dem kan kræve analyse af realtidsdata. Efterspørgslen efter brug af realtidsdata og behandling af den samme dag for dag, og denne teknologi skaber meget plads til individuel karriereudvikling.

Konklusion

Det giver en enorm vifte af fordele til forskellige databehandlinger i realtid ved hjælp af streamingdata.

Anbefalede artikler

Dette er en guide til Hadoop Streaming. Her diskuterer vi definitionen, konceptet, fordele og ulemper ved Hadoop Streaming. Du kan også gennemgå vores andre foreslåede artikler for at lære mere-

  1. Hvad er Hadoop Cluster?
  2. Hvad er datamining?
  3. Hvad er datavisualisering
  4. Hvad er datamodellering?
  5. Komplet guide til Kafka-værktøjer

Kategori: