我正在学习使用hadoop集群。我已经在hadoop流上工作了一段时间,我在perl / python中编写了map-reduce脚本并运行了这个工作。 但是,我没有找到任何关于运行java map reduce作业的好解释。 例如: 我有以下程序 -
http://www.infosci.cornell.edu/hadoop/wordcount.html
有人可以告诉我如何编译这个程序并运行这个工作。
答案 0 :(得分:6)
创建一个目录来保存已编译的类:
mkdir WordCount_classes
编译你的班级:
javac -classpath $ {HADOOP_HOME} / hadoop - $ {HADOOP_VERSION} -core.jar -d WordCount_classes WordCount.java
从已编译的类中创建一个jar文件:
jar -cvf $ HOME / code / hadoop / WordCount.jar -CwordCount_classes /。
为您的输入创建一个目录并将所有输入文件复制到其中,然后按如下方式运行您的作业:
bin / hadoop jar $ HOME / code / WordCount.jar WordCount $ {INPUTDIR} $ {OUTPUTDIR}
您的作业输出将放在$ {OUTPUTDIR}目录中。此目录由Hadoop作业创建,因此请确保在运行作业之前它不存在。
有关完整示例,请参阅here。