2011-09-24 15 views
7

Secondo lo Hadoop : The Definitive Guide.Come tirare i dati nella mappa/ridurre le funzioni?

La nuova API supporta sia uno stile "push" che uno "pull" di iterazione. In entrambe le API, le coppie di record valore-chiave vengono trasferite al mapper, ma in aggiunta, la nuova API consente a un mappatore di estrarre i record dal metodo map(). Lo stesso vale per il riduttore. Un esempio di come lo stile "pull" può essere utile è l'elaborazione dei record in batch, piuttosto che uno alla volta.

Qualcuno ha estratto i dati nelle funzioni Mappa/Riduzione? Sono interessato all'API o all'esempio per lo stesso.

risposta

5

Ho inviato una query @ [email protected] e ho ottenuto la risposta.

La successiva coppia di valori chiave può essere recuperata dall'oggetto di contesto che viene passato alla mappa, chiamando nextKeyValue() su di esso. Quindi sarai in grado di estrarre i dati successivi da esso nella nuova API.

Le prestazioni di pull sono migliori rispetto a quelle in questo scenario? Inoltre, quali sono gli scenari in cui il pull sarà utile?

+0

Penso che questo scenario sarà utile quando l'elaborazione della chiave/valore attuale dipenderà dalla successiva coppia di valori chiave. –

+0

Avrebbe potuto essere fatto con la vecchia e la nuova API. Ma la sfida è gestire la situazione quando i dati sono distribuiti su blocchi. –

+0

Come puoi farlo con la vecchia api? –

Problemi correlati