Mi az a Hadoop streaming?
A Hadoop streaming a Hadoop disztribúcióval járó segédprogram, amely felhasználható a nagy adatok elemzésére szolgáló programok végrehajtására. Számos nyelv használható, például Java, Scala, Unix, Perl, Python és még sok más. A segédprogram segítséget nyújt a térkép létrehozásában és futtatásában a munkahelyek csökkentésében, ha minden futtatható vagy szkript leképező és / vagy reduktor.
Meghatározás
Ez egy Hadoop disztribúció segédprogrammal. A segédprogram segít konkrét MapReduce feladatok létrehozásában és futtatásában egy futtatható fájl vagy a szkript segítségével, mint mapper és / vagy reduktor.
Megértés
Vannak java segédprogramok, amelyeket a Hadoop disztribúció biztosít, és amelyeket Hadoop streamingnek hívnak. A segédprogram egy JAR fájlba van csomagolva. A segédprogram segítségével létrehozhatunk és futtathatunk MapReduce feladatokat egy futtatható szkripttel. Ezen felül létrehozhatunk futtatható szkripteket a térképkészítő és redukáló funkciók futtatásához. A futtatható parancsfájlokat parancs segítségével továbbítják a Hadoop streamingre. Miután a szkripteket továbbították a Hadoop streamingre, a Hadoop streaming segédprogram létrehoz egy térképet, és csökkenti a feladatokat, és elküldi azokat a fürtbe. Ezeket a feladatokat ezzel a segédprogrammal is meg lehet figyelni.
Hogyan működik?
A térképező és reduktor számára megadott szkript az alábbiak szerint működik -
A mapper parancsfájl teljes inicializálása után elindítja a parancsfájl példányát különböző folyamat-azonosítókkal. A térképező feladat futás közben a bemeneti vonalakat veszi át, és továbbítja a normál bemenethez. Ugyanakkor a mapper összegyűjti a folyamat standard kimenetét. Mindegyik sort konvertálja kulcs-értékpárba. A kulcs-érték párok halmazát ezután a mapper kimeneteként gyűjtik. A kulcs értékpárt az első lap karakter alapján választják ki. A sornak a kezdeti fülig tartó részét választjuk kulcsként, míg a sor többi részét értékes elemként választjuk ki. Ha a fül nem található egy sorban, akkor a teljes sort kell kiválasztani kulcsként, és a sornak nincs értékrésze. Ezt az üzleti igényeknek megfelelően lehet beállítani.
A Hadoop streaming használatának célja
Valós idejű adatgyűjtésre szolgál, amely különböző valósidejű alkalmazásokban használható. Különböző valós idejű alkalmazások léteznek, például részvényportfóliók megtekintése, részvénypiaci elemzés, időjárási jelentések elbeszélése, forgalmi riasztások, amelyeket a Hadoop streaming segítségével készítenek.
A Hadoop streaming működése
Az alábbiakban bemutatunk egy egyszerű példát a Hadoop streaming működésére:
$HADOOP_HOME/bin/hadoop jar $HADOOP_HOME/hadoop-streaming.jar \
-input myInputDirs \
-output myOutputDir \
-mapper org.apache.hadoop.mapred.lib.IdentityMapper \
-reducer /bin/wc
Az input parancs szolgál a bemeneti könyvtár biztosítására, míg a output parancs a output könyvtár biztosítására szolgál. A leképező parancs a végrehajtható leképező osztály meghatározására szolgál, míg a redukáló parancs a végrehajtható reduktor osztály meghatározására szolgál.
A Hadoop streaming előnyei
Az alábbiakban bemutatjuk a Hadoop streaming előnyeit:
1. Rendelkezésre állás
Ehhez nincs szükség külön külön szoftver telepítésére és kezelésére. Vannak más eszközök, mint például a sertés, a kaptár, amelyeket be lehet telepíteni. Külön kezelni kell őket.
2. Tanulás
Nem igényel új technológiákat. A Hadoop streaming minimális Unix ismeretekkel képes az adatok elemzésére.
3. Csökkentse a fejlesztési időt
A térképkészítő és redukciós kódok írását megköveteli a streaming alkalmazások Unix-ban történő fejlesztése közben, ugyanakkor a Java MapReduce alkalmazás használatával ugyanaz a munka elvégzése összetettebb, és először össze kell állítani, majd tesztelni, majd csomagolni, majd a JAR fájlt exportálni, majd futtatni.
4. Gyorsabb átalakítás
Nagyon kevés idő vesz igénybe az adatok átalakítása egyik formátumból a másikba a Hadoop streaming segítségével. Használhatjuk az adatok konvertálásához szöveges fájlból szekvencia fájlba, majd ismét szekvencia fájlból szöveges fájlba és még sokan másokra. Ezt a Hadoop streaming bemeneti formátum és kimeneti formátum opciókkal lehet elérni.
5. Tesztelés
A bemeneti és kimeneti adatok gyorsan tesztelhetők a Hadoop streaming használatával, Unix vagy Shell Script segítségével.
6. Követelmény az üzleti élet számára
Az egyszerű üzleti igényekhez, például az egyszerű szűrési műveletekhez és az egyszerű aggregálási műveletekhez, ezt a Unix-szal is felhasználhatjuk.
7. Teljesítmény
A Hadoop streaming használatával jobb teljesítményt érhetünk el az adatfolyam-feldolgozás során. A Hadoop streamingnek számos hátránya is van, amelyekkel a Hadoop csomag egyéb eszközeivel, például a Kafka, a flume, a szikra segítségével oldódnak meg.
Miért van szükségünk a Hadoop streamingre?
Segít a valós idejű adatok elemzésében, amely sokkal gyorsabb, többcsomópontú fürtön futó MapReduce programozással. Különböző technológiák léteznek, például a Kafka szikra és mások, amelyek valós időben segítenek a Hadoop streamingben.
Hogyan segít ez a technológia a karrier növekedésében?
Manapság minden nagyobb vállalkozás a Hadoop-ba költözött adatok elemzésére, és sokuknak szüksége lehet valósidejű adatok elemzésére. A valós idejű adatok felhasználásának és az ugyanazon napi feldolgozás igénye és ez a technológia sok teret teremt az egyéni karrier növekedéshez.
Következtetés
Hatalmas előnyt kínál a valósidejű adatfolyam-adatfeldolgozással történő különböző feldolgozáshoz.
Ajánlott cikkek
Ez egy útmutató a Hadoop streaminghez. Itt a Hadoop streaming meghatározását, fogalmát, előnyeit és hátrányait tárgyaljuk. Megnézheti a többi javasolt cikket is, hogy többet megtudjon-
- Mi a Hadoop Cluster?
- Mi az adatbányászat?
- Mi az adatmegjelenítés?
- Mi az adatmodellezés?
- Teljes útmutató a Kafka Tools-hoz