Quali sono le differenze tra Comparatore di ordinamento e Comparatore di gruppo in Hadoop?Quali sono le differenze tra Comparatore di ordinamento e Comparatore di gruppo in Hadoop?
risposta
Per capire GroupComparator, vedere la mia risposta a questa domanda -
What is the use of grouping comparator in hadoop map reduce
SortComparator: Permette di definire come chiavi mappa di output sono ordinati
estratti dal libro Hadoop - Definitive Guida:
L'ordinamento per le chiavi è il seguente:
Se la proprietà
mapred.output.key.comparator.class
è impostata, in modo esplicito o chiamandosetSortComparatorClass()
sul lavoro, quindi un'istanza di quella classe viene utilizzato. (In vecchia API metodo equivalente èsetOutputKeyComparatorClass()
suJobConf
.)Altrimenti, codici deve essere una sottoclasse di
WritableComparable
, ed è usata la sede comparatore per la classe della chiave.Se non c'è comparatore registrato, allora un
RawComparator
viene utilizzato che deserializza i flussi di byte confrontati in oggetti e delega al metodo s ‘ilWritableComparable
compareTo()
.
SortComparator Vs GroupComparator in un uno di linea: SortComparator
decide come mappare i tasti di uscita sono ordinati, mentre GroupComparator
decide quali chiavi mappa di uscita entro il riduttore vanno alla stessa chiamata al metodo di ridurre.
gruppo di confronto decide quali chiavi mappa di uscita saranno unite (raggruppati) in una chiave, e, naturalmente, saranno raggruppate anche tutte le collezioni di valori. Di solito ci vuole una prima chiave come unica per la raccolta sommaria.
SortComparator decide come chiavi verranno ordinati in ingresso di ridurre. Di default usa l'ordinamento naturale.