Hadoop requête concernant setJarByClass méthode de Travail de la classe
Dans Hadoop documentation de l'API, il est donné
que
setJarByClass
public void setJarByClass(Class<?> cls)
Set the Jar by finding where a given class came from.
Ce que fait exactement cette explication veux dire? est-il crée un fichier JAR à partir du fichier de classe argument spécifié dans la méthode ci-dessus? et est-ce que le fichier jar est exécuté pour la tâche MapReduce.?
Vous devez vous connecter pour publier un commentaire.
Cette méthode permet de définir le fichier jar dans lequel chaque nœud va chercher le Mappeur et Réducteur de classes.
Il ne permet pas de créer un jar à partir de la classe donnée. Plutôt, il identifie le bocal contenant la classe donnée. Et oui, ce fichier jar est "exécuté" (en réalité, le Mappeur et Réducteur dans ce fichier jar sont exécutées) pour le travail de MapReduce.
(Voir aussi Stanley Xu, en réponse à une question similaire sur la nécessité de cette méthode, car vous donnez le pot sur la ligne de commande)
Veuillez noter que la méthode ci-dessus sur le Travail de la classe est appelée dans le pilote. Vous pilote est appelée forme d'un client, généralement votre bureau ou sur un bord de la machine qui ne fait pas partie de la grappe et de vos classes (dans les fichiers jar) serait assis sur la machine. Pour votre travail de mapreduce exécuter sur le cluster, vous devez envoyer votre Mapper, réducteur et toute les autres classes du cluster à partir de votre ordinateur client. Vous avez de la classe du pilote se charge d'envoyer le fichier jar contenant les classes nécessaires à la grappe. Jar pour envoyer, vous devez spécifier que le chauffeur ne sait pas où l'on doit être envoyé entre le tas de fichiers jar que vous avez sur votre permis de chemin de classe. Ceci est fait en utilisant la méthode setJarByClass ou setJar ou toute autre variante de la méthode similaire à la classe d'Emploi.
Évidemment, si vous ne spécifiez pas cette, sens pas à l'appel de cette méthode ou de la commenter entraînera ClassNotFound exception sur les nœuds esclaves.
Espère que cela clarifie!
Aide à identifier le Pot qui contient la
Mapper
etReducer
par la spécification d'une classe dans ce Pot.