2013-08-23 17 views
8

ciao volevo sapere come ordinare il conteggio delle parole in base al valore in hadoop.io so che hadoop prende le chiavi di ordinamento, ma non i valori.come ordinare il conteggio delle parole per valore in hadoop?

So per ordinare i valori dobbiamo avere un partizionamento, groupingcomparator e sortcomparator

ma sto po 'confuso in applicazione di questi concetti insieme per ordinare il numero di parole per valore.

abbiamo bisogno di un'altra mappa ridurre il lavoro per ottenere lo stesso o un combinatore per contare le occorrenze e quindi ordinare qui ed emettere lo stesso per riduttore?

si può spiegare come ordinare l'esempio di conteggio di parole in base ai valori?

+0

Non hai fatto la stessa domanda 8 ore fa? [http://stackoverflow.com/questions/18395998/hadoop-map-reduce-secondary-sorting] – DDW

+0

sì im bit confuso mentre si applicano questi concetti del tutto – user1585111

risposta

7

È necessario disporre di un secondo lavoro di ridimensionamento della mappa. A meno che non si concluda sul conteggio dei totali (che fa il primo lavoro di MR) come si può pensare all'ordinamento per valore (il conteggio delle parole)? Logicamente non possibile.

+0

intendo solo ordinamento in base al numero di occorrenze – user1585111

+0

Sì. Ho avuto la stessa comprensione. Per determinare il numero di occorrenze, è necessario eseguire un processo MR. Solo alla fine dell'elaborazione di una chiave è possibile determinare il numero di occorrenze. Quando la prossima chiave arriva la chiave precedente del contesto per Ridurre l'attività. Quindi non è possibile avere la parola come chiave e ordinare per valore. È necessario reindirizzare l'output a un altro lavoro MR e utilizzare il valore come chiave nel secondo lavoro. – Rags

+0

im solo un principiante, la tua risposta è utile. Grazie mille – user1585111

6

Questo è chiamato come tipo secondario. Vedi this e this per dettagli.

+1

L'ordinamento secondario non aiuta nell'ordinamento per numero di occorrenze come richiesto nella domanda. Impossibile acheive !. – rbyndoor

+0

@ruby: la domanda riguarda l'ordinamento del risultato di un lavoro di un conto, basato su valori, che è il conteggio di ogni parola. cosa ti fa pensare che sia impossibile da raggiungere? – Tariq

+1

No..basato sui commenti degli utenti, è molto chiaro che l'utente1585111 vuole ordinare per numero di occorrenze. Questo non è ciò che può fare l'ordinamento secondario. – rbyndoor

Problemi correlati