Video: Hadoop Processing Frameworks 2025
Al centro, MapReduce è un modello di programmazione per l'elaborazione di set di dati che vengono archiviati in modo distribuito attraverso i nodi slave di un cluster Hadoop. Il concetto chiave qui è divide e conquista. In particolare, si desidera rompere un set di dati di grandi dimensioni in molti pezzi più piccoli ed elaborarli in parallelo con lo stesso algoritmo.
Con il file system distribuito Hadoop (HDFS), i file sono già suddivisi in pezzi di dimensioni ridotte. MapReduce è ciò che usi per elaborare tutti i pezzi.
Le applicazioni MapReduce hanno più fasi, come spiegato in questo elenco:
-
Determina i set di dati esatti da elaborare dai blocchi di dati. Ciò comporta il calcolo del punto in cui i record da elaborare si trovano all'interno dei blocchi di dati.
-
Eseguire l'algoritmo specificato su ogni record nel set di dati finché tutti i record non vengono elaborati.
La singola istanza dell'applicazione in esecuzione su un blocco di dati in un set di dati è nota come attività di mappatura . (Questa è la parte di mappatura di MapReduce.)
-
Effettua localmente una riduzione provvisoria dell'output di ciascun mapper.
(Le uscite sono combinate provvisoriamente, in altre parole.) Questa fase è facoltativa perché, in alcuni casi comuni, non è auspicabile.
-
In base ai requisiti di partizionamento, raggruppare le partizioni applicabili dei dati dai set di risultati di ciascun mapper.
-
Riduci i set di risultati dai mappatori in un unico set di risultati: la parte Riduci di MapReduce.
Una singola istanza dell'applicazione in esecuzione su dati di output del programma di mappatura è nota come attività riduttore . (Per quanto strano possa sembrare, dal momento che "Riduci" fa parte del nome MapReduce, questa fase può essere facoltativa; le applicazioni senza riduttore sono conosciute come lavori di sola lettura , che possono essere utili quando non c'è è necessario combinare i set di risultati dalle attività della mappa.)
