Comment lire le fichier Hadoop Sequentil comme entrée au travail Hadoop?
-
27-10-2019 - |
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?
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.