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.

  1. Co je Hadoop Cluster?
  2. Co je dolování dat?
  3. Co je to vizualizace dat
  4. Co je datové modelování?
  5. Kompletní průvodce nástroji Kafka

Kategorie: