HBase
 sql >> Database >  >> NoSQL >> HBase

Che cos'è MapReduce Key Value Pair in Hadoop?

In questo tutorial Hadoop , ti forniremo un'introduzione completa alla coppia chiave-valore MapReduce.

Prima di tutto discuteremo cos'è una coppia di valori chiave in Hadoop, come viene generata una coppia di valori chiave in MapReduce. Alla fine spiegheremo la generazione di coppie chiave-valore di MapReduce con esempi.

Cos'è la coppia chiave-valore in Hadoop?

La coppia chiave-valore in MapReduce è l'entità record che Hadoop MapReduce accetta per l'esecuzione.

Utilizziamo Hadoop principalmente per l'analisi dei dati. Si occupa di dati strutturati, non strutturati e semistrutturati. Con Hadoop, se lo schema è statico, possiamo lavorare direttamente sulla colonna anziché sul valore della chiave. Ma se lo schema non è statico lavoreremo su un valore chiave.

Il valore delle chiavi non è le proprietà intrinseche dei dati. Ma sono scelti dall'utente che analizza i dati.

MapReduce è il componente principale di Hadoop, che fornisce l'elaborazione dei dati. Esegue l'elaborazione suddividendo il lavoro in due fasi:Fase mappa e Fase di riduzione . Ogni fase ha valore-chiave come input e output.

MapReduce Generazione di coppie di valori chiave in Hadoop

Nell'esecuzione del lavoro MapReduce, prima di inviare i dati al mapper , prima convertilo in coppie chiave-valore. Perché mappa solo coppie di dati valore-chiave.

La coppia chiave-valore in MapReduce viene generata come segue:

InputSplit -  È la rappresentazione logica dei dati che InputFormat genera. Nel programma MapReduce descrive un'unità di lavoro che contiene una singola attività mappa.

Lettore di record -  Comunica con InputSplit. Dopodiché converte i dati in coppie chiave-valore adatte alla lettura da parte del Mapper. RecordReader per impostazione predefinita utilizza TextInputFormat per convertire i dati in coppie chiave-valore.

Nell'esecuzione del lavoro MapReduce, la funzione map elabora una determinata coppia chiave-valore. Quindi emette un certo numero di coppie chiave-valore. La funzione Riduci elabora i valori raggruppati dalla stessa chiave.

Quindi emette un altro set di coppie chiave-valore come output. I tipi di output della mappa devono corrispondere ai tipi di input di Riduci come mostrato di seguito:

  • Mappa: (K1, V1) -> elenco (K2, V2)
  • Riduci: {(K2, elenco (V2}) -> elenco (K3, V3)

Su quale base viene generata una coppia chiave-valore in Hadoop?

MapReduce La generazione della coppia chiave-valore dipende totalmente dal set di dati. Dipende anche dall'output richiesto. Il framework specifica la coppia chiave-valore in 4 posizioni:Mappa input/output, Riduci input/output.

1. Input mappa

Per impostazione predefinita, l'input mappa prende come chiave l'offset della linea. Il contenuto della riga è valore come Testo. Possiamo modificarli; utilizzando il formato di input personalizzato.

2. Output mappa

La mappa è responsabile del filtraggio dei dati. Fornisce inoltre l'ambiente per raggruppare i dati in base alla chiave.

  • Chiave– È un campo/testo/oggetto su cui i dati raggruppano e si aggregano sul riduttore .
  • Valore– È il campo/testo/oggetto che ciascun individuo riduce gestisce il metodo.

3. Riduci input

L'output della mappa viene immesso per ridurre. Quindi è uguale a Map-Output.

4. Riduci la produzione

Dipende totalmente dall'output richiesto.

Esempio di coppia chiave-valore MapReduce

Ad esempio, il contenuto del file che HDFS i negozi sono Chandler è Joey Mark è John . Quindi, ora usando InputFormat, definiremo come questo file verrà diviso e letto. Per impostazione predefinita, RecordReader utilizza TextInputFormat per convertire questo file in una coppia chiave-valore.

  • Chiave –  È l'offset dell'inizio della riga all'interno del file.
  • Valore –   È il contenuto della riga, esclusi i terminatori di riga.

Qui,Chiave è 0 e Valore è Chandler è Joey Mark è John.

Conclusione

In conclusione, possiamo dire che il valore-chiave è solo un'entità record che MapReduce accetta per l'esecuzione. InputSplit e RecordReader generano una coppia chiave-valore. Quindi, la chiave è l'offset del byte e il valore è il contenuto della riga.

Spero che questo blog ti sia piaciuto. Se hai suggerimenti o domande relative alla coppia di valori chiave MapReduce, ti preghiamo di lasciare un commento in una sezione indicata di seguito.