Question

J'ai un fichier séquentiel qui a la paire valeur clé de type « org.apache.hadoop.typedbytes.TypedBytesWritable » , je dois fournir ce fichier que l'entrée à l'emploi et Hadoop doivent le traiter uniquement sur la carte. Je veux dire je ne dois rien faire qui devra réduire.

1) Comment vais-je préciser le FileInputFormat comme SequentialFile?

2) Quelle sera la signature de la fonction de la carte.

3) Comment puis-je obtenir la sortie de la carte au lieu de réduire?

Était-ce utile?

La solution

1) Comment vais-je préciser le FileInputFormat comme SequentialFile?

Définir SequenceFileAsBinaryInputFormat comme format d'entrée. Voici le Code pour la classe SequenceFileAsBinaryInputFormat.

Voici le code

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

2) Quelle sera la signature de la fonction de la carte.

La carte serait invoquée avec un BytesWritable comme types de clés et de valeur.

3) Comment puis-je obtenir la sortie de la carte au lieu de réduire?

Définissez la propriété mapred.reduce.tasks à 0. La sortie de la carte sera le résultat final du travail.


De plus, jetez un oeil à la page SequenceFileAsTextInputFormat . La carte serait invoqué avec texte que les types de clés et de valeur.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top