Per ottenere l'ordinamento dei valori di ingresso riduttore utilizzando funzionalità incorporate di Hadoop, si può fare questo:
chiave mappa di output 1.Modify - Aggiunge mappa chiave di uscita con il corrispondente value.Emit questa chiave composita e il valore dalla mappa. Dal momento che hadoop utilizza l'intera chiave per impostazione predefinita, i record di output della mappa verranno ordinati per (chiave + valore precedente).
2. Anche se l'ordinamento viene eseguito nel passaggio 1, è stata manipolata la chiave di output della mappa nel processo. Hadoop esegue il partizionamento e il raggruppamento in base alla chiave per impostazione predefinita.
3.Since è stata modificata la chiave originale, si necessità di prendersi cura di modificare Partitioner e GroupingComparator di lavoro basato sulla vecchia chiave vale a dire, solo la prima parte della vostra chiave composita. Partizionatore - decide quali coppie di valori-chiave si trovano nella stessa istanza di Riduttore
GroupComparator - decide quali coppie di valori-chiave tra quelle che sono atterrite nel Riduttore vanno alla stessa chiamata del metodo di riduzione.
4. Infine (e ovviamente) è necessario estrarre la prima parte della chiave di input nel riduttore per ottenere la vecchia chiave.
Se avete bisogno di più (e una migliore) risposta, rivolgersi a Hadoop guida 3rd Edition -> Capitolo 8 -> smistamento -> ordinamento secondario
fonte
2013-02-22 07:01:49
Non sicuro di aver capito completamente la vostra motivazione per voler ordinare prima di ridurre. – mohit6up