Domanda

Ho un file sequenziale che ha il coppia chiave-valore di tipo "org.apache.hadoop.typedbytes.TypedBytesWritable" , devo fornire questo file come l'ingresso al lavoro e Hadoop devono elaborare solo in mappa. Voglio dire non devo fare nulla che ridurrà bisogno.

1) Come faccio a specificare il FileInputFormat come SequentialFile?

2) Quale sarà la firma di funzione di mappa.

3) Come faccio a ottenere l'output dalla mappa, invece di Riduzione?

È stato utile?

Soluzione

1) Come faccio a specificare il FileInputFormat come SequentialFile?

SequenceFileAsBinaryInputFormat come formato di input. Ecco la codice per la classe SequenceFileAsBinaryInputFormat.

Ecco il codice

JobConf conf = new JobConf(getConf(), getClass());
conf.setInputFormat(SequenceFileAsBinaryInputFormat.class);

2) Quale sarà la firma di funzione di mappa.

La mappa dovrebbe essere richiamato con un BytesWritable come tipi di chiavi e valori.

3) Come faccio a ottenere l'output dalla mappa, invece di Riduzione?

Impostare la proprietà mapred.reduce.tasks a 0. L'uscita della mappa sarà il risultato finale del lavoro.


Inoltre, date un'occhiata alla SequenceFileAsTextInputFormat . La mappa sarebbe invocata con il testo come tipi di chiavi e valori.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top