Co je to Hadoop Streaming?
Hadoop streaming je nástroj dodávaný s distribucí Hadoop, který lze použít k provádění programů pro analýzu velkých dat. Existuje několik jazyků, které lze použít k provedení tohoto, jako je Java, Scala, Unix, Perl, Python a mnoho dalších. Tento nástroj nám pomáhá při vytváření a spouštění mapových redukčních úloh, přičemž jakýkoli spustitelný soubor nebo skript je mapovač a / nebo redukce.
Definice
Jedná se o distribuci Hadoop s obslužným programem. Nástroj nám pomáhá vytvářet a spouštět specifické úlohy MapReduce pomocí spustitelného souboru nebo skriptu jako mapovače a / nebo redukce.
Porozumění
Distribuce Hadoop poskytuje java nástroje, které se nazývají Hadoop streaming. Nástroj je zabalen do souboru JAR. Pomocí nástroje můžeme vytvářet a spouštět úlohy MapReduce pomocí spustitelného skriptu. Kromě toho můžeme vytvořit spustitelné skripty pro spouštění mapovacích a redukčních funkcí. Spustitelné skripty jsou předávány do Hadoop streamingu pomocí příkazu. Poté, co jsou skripty předány do Hadoop streamingu, vytvoří obslužný program Hadoop streaming mapu, zmenší úlohy a odešle je do clusteru. Tyto úlohy lze také sledovat pomocí tohoto nástroje.
Jak to funguje?
Skript určený pro mapovač a redukci funguje takto:
Po úplné inicializaci mapovacího skriptu spustí instanci skriptu s různými ID procesů. Úloha mapovače při běhu vezme vstupní řádky a předá je standardnímu vstupu. Současně jsou výstupy ze standardního výstupu procesu shromažďovány mapovačem. Převádí každý řádek do páru klíč-hodnota. Sada párů klíč-hodnota je poté shromážděna jako výstup z mapovače. Pár hodnot klíčů je vybrán na základě prvního znaku karty. Část řádku až k počáteční kartě je vybrána jako klíč, zatímco zbytek řádku je vybrán jako hodnotná část. V případě, že karta není v řádku, pak je jako řádek vybrán celkový řádek a pro řádek není žádná část s hodnotami. To lze upravit podle obchodních potřeb.
Účel použití streamování Hadoop
Používá se pro příjem dat v reálném čase, který lze použít v různých aplikacích v reálném čase. Existují různé aplikace v reálném čase, jako je sledování akciových portfolií, analýza akciového trhu, vyprávění o počasí, dopravní upozornění, která se provádějí pomocí streamování Hadoop.
Práce s Hadoop Streamingem
Níže je uveden jednoduchý příklad toho, jak funguje streamování 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
Příkaz input se používá k poskytnutí vstupního adresáře, zatímco příkaz output se používá k poskytnutí výstupního adresáře. Příkaz mapper se používá k určení spustitelné třídy mapovačů, zatímco příkaz reduktor se používá k určení třídy spustitelných reduktorů.
Výhody Hadoop Streamingu
Níže jsou uvedeny výhody streamování Hadoop:
1. Dostupnost
To nevyžaduje instalaci a správu žádného zvláštního softwaru. Existují i jiné nástroje, jako je prase, úl, které lze nainstalovat, musím je spravovat samostatně.
2. Učení
Nevyžaduje se naučit se nové technologie. Streamování Hadoop lze využít s minimálními schopnostmi Unixu pro analýzu dat.
3. Zkraťte dobu vývoje
Vyžaduje psaní mapovacího a redukčního kódu při vývoji streamovacích aplikací v Unixu, zatímco provádění stejné práce pomocí aplikace Java MapReduce je složitější a je třeba ji nejprve zkompilovat, poté otestovat, poté balíček, poté exportovat soubor JAR a poté spustit.
4. Rychlejší konverze
Převod dat z jednoho formátu do druhého pomocí streamu Hadoop trvá velmi málo času. Můžeme je použít pro převod dat z textového souboru do sekvenčního souboru a pak znovu ze sekvenčního souboru do textového souboru a mnoha dalších. Toho lze dosáhnout pomocí vstupního formátu a možností výstupního formátu v streamování Hadoop.
5. Testování
Vstupní a výstupní data lze rychle otestovat pomocí streamování Hadoop s Unix nebo Shell Script.
6. Požadavek na podnikání
Pro jednoduché obchodní požadavky, jako jsou jednoduché operace filtrování a jednoduché operace agregace, můžeme použít Unix.
7. Výkon
Pomocí streamování Hadoop můžeme získat lepší výkon při práci s datovými proudy. Existuje také několik nevýhod streamování Hadoop, které jsou řešeny pomocí jiných nástrojů v balíčku Hadoop, jako je Kafka, flume, iskra.
Proč potřebujeme Hadoop Streaming?
Pomáhá při analýze dat v reálném čase, která je mnohem rychlejší pomocí programování MapReduce běžícího na klastru s více uzly. Existují různé technologie, jako je jiskra Kafka a další, které pomáhají v reálném čase streamovat Hadoop.
Jak vám tato technologie pomůže v kariérním růstu?
V současné době se všechny velké podniky stěhují do společnosti Hadoop za účelem analýzy dat a mnoho z nich může vyžadovat analýzu dat v reálném čase. Poptávka po použití dat v reálném čase a zpracování ve stejný den a tuto technologii vytváří mnoho prostoru pro individuální kariérní růst.
Závěr
Nabízí obrovské množství výhod pro různé zpracování dat v reálném čase pomocí datových proudů.
Doporučené články
Toto je průvodce Hadoop Streamingem. Zde diskutujeme definici, koncept, výhody a nevýhody Hadoop Streamingu. Další informace naleznete také v dalších navrhovaných článcích.
- Co je Hadoop Cluster?
- Co je dolování dat?
- Co je to vizualizace dat
- Co je datové modelování?
- Kompletní průvodce nástroji Kafka