Ce este Hadoop Streaming?

Hadoop streaming este un utilitar care vine cu distribuția Hadoop care poate fi utilizat pentru a executa programe pentru analiza datelor mari. Există mai multe limbi care pot fi utilizate pentru a efectua acest lucru, cum ar fi Java, Scala, Unix, Perl, Python și multe altele. Utilitatea ne ajută în crearea și rularea hărții de reducere a lucrărilor, cu orice script executabil sau script fiind mapatorul și / sau reductorul.

Definiție

Este o distribuție Hadoop cu utilitate. Utilitatea ne ajută să creăm și să rulăm anumite joburi MapReduce cu un program executabil sau script ca mapper și / sau reductor.

Înţelegere

Există utilități Java oferite de distribuția Hadoop, care se numește streaming Hadoop. Utilitarul este ambalat într-un fișier JAR. Folosind utilitatea, putem crea și rula joburi MapReduce cu un script executabil. Mai mult, putem crea scripturi executabile pentru a rula funcții mapper și reductor. Scripturile executabile sunt transmise în streaming Hadoop folosind o comandă. După ce scripturile sunt transmise în streaming Hadoop, utilitatea de streaming Hadoop creează o hartă și reduce joburile și le trimite la cluster. Aceste joburi pot fi, de asemenea, monitorizate cu acest utilitar.

Cum functioneazã?

Scriptul specificat pentru mapper și reductor funcționează ca mai jos-

După inițializarea completă a scriptului mapper, acesta va lansa instanța scriptului cu diferite ID-uri de proces. Sarcina de mapare în timpul rulării preia liniile de intrare și o transmite la intrarea standard. În același timp, ieșirile din ieșirea standard a procesului sunt colectate de către mapator. Convertește fiecare linie într-o pereche cheie-valoare. Setul de perechi cheie-valoare este apoi colectat ca ieșire din mapper. Perechea de valori cheie este selectată pe baza primului caracter tab. Partea de linie până la fila inițială este selectată ca cheie, în timp ce restul liniei este selectat ca o parte valoroasă. În caz că fila nu este prezentă într-o linie, atunci linia totală este selectată ca cheie și nu există nicio parte de valoare pentru linie. Acest lucru poate fi ajustat în funcție de nevoile companiei.

Scopul utilizării Hadoop Streaming

Este utilizat pentru ingestia de date în timp real, care poate fi utilizat în diferite aplicații în timp real. Există diferite aplicații în timp real, cum ar fi vizionarea portofoliilor de stocuri, analiza pieței de acțiuni, raportarea vremii, alertele de trafic care se realizează folosind streamingul Hadoop.

Funcționarea de streaming Hadoop

Mai jos este un exemplu simplu despre cum funcționează streamingul 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

Comanda de intrare este utilizată pentru a furniza directorul de intrare în timp ce comanda de ieșire este utilizată pentru a furniza directorul de ieșire. Comanda mapper este utilizată pentru a specifica clasa mapper executabilă în timp ce comanda reductor este utilizată pentru a specifica clasa reductorului executabil.

Avantajele streamingului Hadoop

Mai jos sunt avantajele streamingului Hadoop:

1. Disponibilitate

Aceasta nu necesită instalarea și administrarea unui software separat suplimentar. Există și alte instrumente precum un porc, stup care poate fi instalat, trebuie să fie administrat separat.

2. Învățare

Nu este necesar să înveți noi tehnologii. Streamingul Hadoop poate fi exploatat cu abilități minime Unix pentru analiza datelor.

3. Reducerea timpului de dezvoltare

Este necesar să scrieți mapper și reductor în timp ce dezvoltați aplicații de streaming în Unix, în timp ce faceți aceeași lucrare folosind aplicația Java MapReduce este mai complexă și trebuie compilată mai întâi, apoi testează, apoi pachetează, urmând exportul fișierului JAR, apoi rulează.

4. Conversia mai rapidă

Este nevoie de foarte puțin timp pentru a converti datele de la un format la altul folosind streamingul Hadoop. Îl putem folosi pentru a converti date din fișier text în fișier secvență și apoi din nou din fișier secvență în fișier text și multe altele. Acest lucru poate fi realizat folosind opțiuni de format de intrare și format de ieșire în streaming Hadoop.

5. Testarea

Datele de intrare și ieșire pot fi testate rapid folosind streamingul Hadoop cu Unix sau Shell Script.

6. Cerință pentru afaceri

Pentru cerințe de afaceri simple, cum ar fi operații simple de filtrare și operație simplă de agregare, putem utiliza acest lucru cu Unix.

7. Performanță

Folosind streamingul Hadoop putem obține performanțe mai bune în timp ce lucrăm cu date de streaming. Există, de asemenea, mai multe dezavantaje ale streamingului Hadoop, care sunt abordate prin utilizarea altor instrumente din pachetul Hadoop, cum ar fi Kafka, flume, scânteie.

De ce avem nevoie de Hadoop Streaming?

Ajută la analiza datelor în timp real, care utilizează mult mai rapid programarea MapReduce care rulează pe un cluster cu mai multe noduri. Există tehnologii diferite, cum ar fi scânteia Kafka și altele care ajută în timp real transmiterea Hadoop.

Cum te va ajuta această tehnologie în creșterea carierei?

În prezent, toate întreprinderile majore se mută la Hadoop pentru analiza datelor lor, iar multe dintre ele pot necesita o analiză a datelor în timp real. Cererea de utilizare a datelor în timp real și procesarea aceleiași zile de zi, iar această tehnologie creează o mulțime de posibilități pentru creșterea carierei individuale.

Concluzie

Oferă o gamă largă de avantaje pentru diferite prelucrări de date în timp real folosind date în flux.

Articole recomandate

Acesta este un ghid pentru Streaming Hadoop. Aici discutăm definiția, conceptul, avantajele și dezavantajele Hadoop Streaming. Puteți parcurge și alte articole sugerate pentru a afla mai multe-

  1. Ce este Hadoop Cluster?
  2. Ce este data mining?
  3. Ce este vizualizarea datelor
  4. Ce este modelarea datelor?
  5. Ghid complet pentru instrumentele Kafka

Categorie: