Exécution de programmes java mapreduce sur le cluster hadoop


J'apprends à travailler sur le cluster hadoop. J'ai travaillé pendant un certain temps sur hadoop streaming où j'ai codé des scripts map-reduce en perl/python et exécuté le travail. Cependant, je n'ai trouvé aucune bonne explication pour exécuter un travail de réduction de carte java. Exemple: J'ai le programme suivant-

Http://www.infosci.cornell.edu/hadoop/wordcount.html

Quelqu'un Peut-il me dire comment dois-je compiler ce programme et exécuter le travail.

Author: Tapan Avasthi, 2012-05-08

1 answers

Créer un répertoire pour contenir la classe compilée:

Mkdir WordCount_classes

Compiler votre classe:

Javac -classpath ${HADOOP_HOME}/hadoop-${HADOOP_VERSION}-core.jar-d WordCount_classes WordCount.java

Créez un fichier jar à partir de votre classe compilée:

Jar cvf $HOME/code/hadoop/nombre de mots.jar - C WordCount_classes/.

Créez un répertoire pour votre entrée et copiez-y tous vos fichiers d'entrée, puis exécutez votre travail comme suit:

Bin/hadoop jar $HOME/code/nombre de mots.jar WordCount {{INPUTDIR} {{OUTPUTDIR}

La sortie de votre travail sera placée dans le répertoire OUTP{OUTPUTDIR}. Ce répertoire est créé par le travail Hadoop, alors assurez-vous qu'elle n'existe pas avant d'exécuter le travail.

Voir ici pour un exemple complet.

 6
Author: tophatsteve, 2012-05-08 07:58:49