Video: Hadoop Processing Frameworks 2025
La fase di riduzione elabora il le chiavi e i rispettivi elenchi di valori in modo che ciò che viene normalmente restituito all'applicazione client sia un insieme di coppie chiave / valore. Ecco il blow-by-blow fino ad ora: un grande set di dati è stato suddiviso in parti più piccole, chiamate input splits, e singole istanze di task mapper hanno elaborato ciascuna di esse.
In alcuni casi, questa singola fase di elaborazione è tutto ciò che è necessario per generare l'output dell'applicazione desiderato. Ad esempio, se stai eseguendo un'operazione di trasformazione di base sui dati, ad esempio la conversione di tutto il testo in maiuscolo, o l'estrazione di fotogrammi chiave da file video, la fase solitaria è tutto ciò che serve. (Questo è noto come un lavoro solo mappa , a proposito.)
Ma in molti altri casi, il lavoro è solo a metà quando le attività del mappatore hanno scritto il loro output. Il compito rimanente è la sintesi di tutti i risultati intermedi con una singola risposta unificata.
Simile al compito del mappatore, che elabora ogni record uno per uno, il riduttore elabora ogni chiave individualmente. Normalmente, il riduttore restituisce una singola coppia chiave / valore per ogni chiave che elabora. Tuttavia, queste coppie chiave / valore possono essere espansive o piccole quanto è necessario che siano.
Al termine delle attività di riduzione, ciascuna di esse restituisce un file dei risultati e lo memorizza in HDFS (Hadoop Distributed File System). Come mostrato qui, il sistema HDFS replica automaticamente questi risultati.
Dove Resource Manager (o JobTracker se si utilizza Hadoop 1) fa del suo meglio per assegnare risorse alle attività del programma di analisi per garantire che le divisioni di input vengano elaborate localmente, non esiste una strategia di questo tipo per le attività di riduzione. Si presume che i set di risultati dell'attività del mapping debbano essere trasferiti sulla rete per essere elaborati dalle attività del riduttore.
Questa è un'implementazione ragionevole perché, con centinaia o addirittura migliaia di compiti di mappatura, non ci sarebbe alcun modo pratico per le attività di riduzione di avere la stessa priorità di localizzazione.
