Passer des arguments aux mappeurs Hadoop
Je suis en utilisant nouveau Hadoop API et à la recherche d'un moyen de passer certains paramètres (quelques chaînes de caractères) pour les mappeurs.
Comment puis-je le faire?
Ces solutions travaille pour l'ancienne API:
JobConf job = (JobConf)getConf();
job.set("NumberOfDocuments", args[0]);
Ici, “NumberOfDocuments
” est le nom du paramètre et sa valeur est la lecture de “args[0]
“, un argument de ligne de commande. Une fois que vous définissez cette argumentation, vous pouvez récupérer sa valeur dans le réducteur ou mappeur comme suit:
private static Long N;
public void configure(JobConf job) {
N = Long.parseLong(job.get("NumberOfDocuments"));
}
Note, la partie difficile est que vous ne pouvez définir les paramètres comme ceci:
Configuration con = new Configuration();
con.set("NumberOfDocuments", args[0]);
source d'informationauteur wlk | 2011-11-23
Vous devez vous connecter pour publier un commentaire.
Dans la méthode main définir les paramètres comme ci-dessous ou en utilisant le -D option de ligne de commande lors de l'exécution de la tâche.
Dans le mappeur/réducteur obtenir le paramètre comme