MapReduce in Hadoop: fasi, ingressi e uscite, funzioni e vantaggi
Pubblicato: 2020-12-24Hadoop MapReduce è un modello di programmazione e un framework software utilizzato per scrivere applicazioni che elaborano grandi quantità di dati. Ci sono due fasi nel programma MapReduce, Mappa e Riduci.
L'attività Mappa include la suddivisione e la mappatura dei dati prendendo un set di dati e convertendolo in un altro set di dati, in cui i singoli elementi vengono suddivisi in tuple, ad esempio coppie chiave/valore. Dopo di che l'attività Riduci mescola e riduce i dati, il che significa che combina le tuple di dati in base alla chiave e modifica il valore della chiave di conseguenza.
Nel framework Hadoop, il modello MapReduce è il componente principale per l'elaborazione dei dati. Utilizzando questo modello, è molto facile ridimensionare un'applicazione per l'esecuzione su centinaia, migliaia e molte più macchine in un cluster semplicemente apportando una modifica alla configurazione. Questo anche perché i programmi del modello nel cloud computing sono di natura parallela. Hadoop ha la capacità di eseguire MapReduce in molti linguaggi come Java, Ruby, Python e C++. Maggiori informazioni sull'architettura mapreduce.
Sommario
Ingressi e uscite
Il modello MapReduce opera su coppie <chiave, valore>. Visualizza l'input per i lavori come un insieme di coppie <chiave, valore> e produce un insieme diverso di coppie <chiave, valore> come output dei lavori. L'input dei dati è supportato da due classi in questo framework, ovvero InputFormat e RecordReader.
Il primo viene consultato per determinare come partizionare i dati di input per le attività della mappa, mentre il secondo legge i dati dagli input. Per l'output dei dati ci sono anche due classi, OutputFormat e RecordWriter. La prima classe esegue una convalida di base delle proprietà del data sink e la seconda classe viene utilizzata per scrivere ogni output del riduttore nel data sink.
Quali sono le fasi di MapReduce?
In MapReduce un dato passa attraverso le seguenti fasi.

Divisioni di input: un input nel modello MapReduce è diviso in piccole parti di dimensioni fisse denominate divisioni di input. Questa parte dell'input viene consumata da una singola mappa. I dati di input sono generalmente un file o una directory archiviata nell'HDFS.
Mappatura: questa è la prima fase dell'esecuzione del programma map-reduce in cui i dati in ogni suddivisione vengono passati riga per riga a una funzione di mappatura per elaborarli e produrre i valori di output.
Rimescolamento: è una parte della fase di output di Mapping in cui i record pertinenti vengono consolidati dall'output. Consiste nell'unione e nell'ordinamento. Quindi, tutte le coppie chiave-valore che hanno le stesse chiavi vengono combinate. Nell'ordinamento, gli input dalla fase di fusione vengono presi e ordinati. Restituisce coppie chiave-valore, ordinando l'output.
Riduci: vengono combinati tutti i valori della fase di mescolamento e viene restituito un unico valore di output. Quindi, riassumendo l'intero set di dati.
Leggi anche: Domande e risposte sull'intervista Mapreduce

Come funziona MapReduce Organize?
Hadoop divide un'attività in due parti, Mappa attività che include Dividi e mappatura e Riduci attività che include Mischiare e Ridurre. Questi sono stati menzionati nelle fasi nella sezione precedente. L'esecuzione di queste attività è controllata da due entità denominate JobTracker e Multiple Task tracker.
Con ogni lavoro inviato per l'esecuzione, c'è un JobTracker che risiede sul NameNode e più task tracker che risiedono sul DataNode. Un lavoro viene suddiviso in più attività che vengono eseguite su più nodi di dati nel cluster. JobTracker coordina l'attività pianificando le attività da eseguire su vari nodi di dati.
Il task tracker si occupa dell'esecuzione delle singole attività. Invia anche il rapporto di avanzamento al JobTracker. Periodicamente, invia un segnale al JobTracker per notificare lo stato attuale del sistema. Quando si verifica un errore di attività, JobTracker lo riprogramma su un tracker attività diverso.
Vantaggi di MapReduce
Ci sono una serie di vantaggi per le applicazioni che utilizzano questo modello. Questi sono

- – I big data possono essere gestiti facilmente.
- – I set di dati possono essere elaborati parallelamente.
- – Tutti i tipi di dati come strutturati, non strutturati e semistrutturati possono essere facilmente elaborati.
- – Viene fornita un'elevata scalabilità.
- – Il conteggio delle occorrenze delle parole è facile e queste applicazioni possono avere un'enorme raccolta di dati.
- – È possibile accedere rapidamente a grandi campioni di intervistati.
- – Nell'analisi dei dati, uno strumento generico può essere utilizzato per la ricerca degli strumenti.
- – Il tempo di bilanciamento del carico è offerto in cluster di grandi dimensioni.
- – Il processo di estrazione dei contesti delle posizioni degli utenti, delle situazioni, ecc. è facilmente possibile.
- – Per queste applicazioni vengono fornite buone prestazioni di generalizzazione e convergenza.
Da leggere: Mapreduce vs Apache Spark
Conclusione
Abbiamo descritto MapReduce in Hadoop in dettaglio. Nell'introduzione abbiamo anche fornito una breve descrizione del framework insieme alle definizioni di Map e Reduce. Sono state fornite le definizioni dei vari termini utilizzati in questo modello insieme ai dettagli degli input e degli output.
Una spiegazione dettagliata delle varie fasi coinvolte nel framework MapReduce ha illustrato in dettaglio come viene organizzato il lavoro. L'elenco dei vantaggi dell'utilizzo di MapReduce per le applicazioni fornisce un quadro chiaro del suo utilizzo e rilevanza
Se sei interessato a saperne di più sui Big Data, dai un'occhiata al nostro PG Diploma in Software Development Specialization nel programma Big Data, progettato per professionisti che lavorano e fornisce oltre 7 casi di studio e progetti, copre 14 linguaggi e strumenti di programmazione, pratiche pratiche workshop, oltre 400 ore di apprendimento rigoroso e assistenza all'inserimento lavorativo con le migliori aziende.
Impara i corsi di sviluppo software online dalle migliori università del mondo. Guadagna programmi Executive PG, programmi di certificazione avanzati o programmi di master per accelerare la tua carriera.
