Che cos'è lo streaming Hadoop?

Lo streaming di Hadoop è un'utilità fornita con la distribuzione di Hadoop che può essere utilizzata per eseguire programmi per l'analisi di big data. Esistono diversi linguaggi che possono essere utilizzati per eseguire ciò come Java, Scala, Unix, Perl, Python e molti altri. L'utilità ci aiuta a creare ed eseguire mappe per ridurre i lavori con qualsiasi eseguibile o script che sia il mappatore e / o il riduttore.

Definizione

È una distribuzione di Hadoop con utilità. L'utilità ci aiuta a creare ed eseguire lavori MapReduce specifici con un eseguibile o lo script come mapper e / o riduttore.

Comprensione

Esistono utility Java fornite dalla distribuzione Hadoop che sono chiamate streaming Hadoop. L'utilità è impacchettata in un file JAR. Usando l'utilità possiamo creare ed eseguire lavori MapReduce con uno script eseguibile. Inoltre, possiamo creare script eseguibili per eseguire funzioni di mappatore e riduttore. Gli script eseguibili vengono passati allo streaming Hadoop usando un comando. Dopo che gli script sono passati allo streaming Hadoop, l'utilità di streaming Hadoop crea una mappa e riduce i lavori e li invia al cluster. Questi lavori possono anche essere monitorati con questa utility.

Come funziona?

Lo script specificato per mapper e riduttore funziona come di seguito-

Dopo l'inizializzazione completa dello script del mapper, avvierà l'istanza dello script con diversi ID di processo. L'attività mapper durante l'esecuzione accetta le linee di input e le passa all'input standard. Allo stesso tempo, gli output dell'output standard del processo vengono raccolti dal mapper. Converte ogni riga in una coppia chiave-valore. L'insieme di coppie chiave-valore viene quindi raccolto come output dal mapper. La coppia valore-chiave viene selezionata in base al primo carattere della scheda. La parte della linea fino alla scheda iniziale viene selezionata come chiave mentre il resto della linea viene selezionato come parte preziosa. Nel caso in cui la scheda non sia presente in una riga, la riga totale viene selezionata come chiave e non vi sono parti di valore per la riga. Questo può essere regolato in base alle esigenze aziendali.

Scopo dell'utilizzo di Hadoop Streaming

Viene utilizzato per l'immissione di dati in tempo reale che può essere utilizzato in diverse app in tempo reale. Esistono diverse app in tempo reale come guardare i portafogli azionari, condividere le analisi di mercato, raccontare i bollettini meteorologici, gli avvisi sul traffico che vengono eseguiti utilizzando lo streaming Hadoop.

Funzionamento di Hadoop Streaming

Di seguito è riportato un semplice esempio di come funziona lo streaming 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

Il comando di input viene utilizzato per fornire la directory di input mentre il comando di output viene utilizzato per fornire la directory di output. Il comando mapper viene utilizzato per specificare la classe eseguibile del mapper mentre il comando riduttore viene utilizzato per specificare la classe riducibile eseguibile.

Vantaggi dello streaming Hadoop

Di seguito sono riportati i vantaggi dello streaming Hadoop:

1. Disponibilità

Ciò non richiede l'installazione e la gestione di alcun software aggiuntivo separato. Ci sono altri strumenti come un maiale, un alveare che può essere installato, devo gestirlo separatamente.

2. Apprendimento

Non richiede di apprendere nuove tecnologie. Lo streaming Hadoop può essere sfruttato con competenze minime Unix per l'analisi dei dati.

3. Ridurre i tempi di sviluppo

Richiede la scrittura di mapper e codice del riduttore durante lo sviluppo di applicazioni di streaming in Unix, mentre fare lo stesso lavoro utilizzando l'applicazione Java MapReduce è più complesso e deve essere compilato prima, quindi test, quindi pacchetto, seguito dall'esportazione del file JAR e quindi esecuzione.

4. Conversione più rapida

Ci vuole pochissimo tempo per convertire i dati da un formato all'altro usando lo streaming Hadoop. Possiamo usarlo per convertire i dati da file di testo a file di sequenza e poi di nuovo da file di sequenza a file di testo e molti altri. Ciò può essere ottenuto utilizzando le opzioni del formato di input e del formato di output nello streaming Hadoop.

5. Test

I dati di input e output possono essere rapidamente testati utilizzando lo streaming Hadoop con Unix o Shell Script.

6. Requisiti per le imprese

Per semplici requisiti aziendali come semplici operazioni di filtro e semplici operazioni di aggregazione, possiamo utilizzarlo con Unix.

7. Prestazioni

Utilizzando lo streaming Hadoop possiamo ottenere prestazioni migliori lavorando con i dati di streaming. Ci sono anche diversi svantaggi dello streaming di Hadoop che vengono risolti utilizzando altri strumenti nel pacchetto Hadoop come Kafka, flume, spark.

Perché abbiamo bisogno di Hadoop Streaming?

Aiuta nell'analisi dei dati in tempo reale che è molto più veloce utilizzando la programmazione MapReduce in esecuzione su un cluster multi-nodo. Esistono diverse tecnologie come spark Kafka e altre che aiutano in streaming Hadoop in tempo reale.

In che modo questa tecnologia ti aiuterà nella crescita della carriera?

Oggi tutte le principali aziende si stanno trasferendo su Hadoop per la loro analisi dei dati e molte di esse potrebbero richiedere un'analisi dei dati in tempo reale. La domanda di utilizzo dei dati in tempo reale e l'elaborazione dello stesso giorno per giorno e questa tecnologia sta creando molto spazio per la crescita della carriera individuale.

Conclusione

Offre una vasta gamma di vantaggi per la diversa elaborazione dei dati in tempo reale utilizzando i dati di streaming.

Articoli consigliati

Questa è una guida allo streaming di Hadoop. Qui discutiamo la definizione, il concetto, i vantaggi e gli svantaggi di Hadoop Streaming. Puoi anche consultare i nostri altri articoli suggeriti per saperne di più-

  1. Che cos'è Hadoop Cluster?
  2. Che cos'è il data mining?
  3. Che cos'è la visualizzazione dei dati
  4. Che cos'è la modellazione dei dati?
  5. Guida completa agli strumenti di Kafka

Categoria: