我正在学习在 hadoop 集群上工作。我在 hadoop 流上工作了一段时间,我在 perl/python 中编写了 map-reduce 脚本并运行了这项工作。但是,对于运行 java map reduce 作业,我没有找到任何好的解释。例如:我有以下程序-
http://www.infosci.cornell.edu/hadoop/wordcount.html
有人可以告诉我如何实际编译该程序并运行该工作。
我正在学习在 hadoop 集群上工作。我在 hadoop 流上工作了一段时间,我在 perl/python 中编写了 map-reduce 脚本并运行了这项工作。但是,对于运行 java map reduce 作业,我没有找到任何好的解释。例如:我有以下程序-
http://www.infosci.cornell.edu/hadoop/wordcount.html
有人可以告诉我如何实际编译该程序并运行该工作。
创建一个目录来保存已编译的类:
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 -C WordCount_classes/ 。
为您的输入创建一个目录并将所有输入文件复制到其中,然后按如下方式运行您的作业:
bin/hadoop jar $HOME/code/WordCount.jar WordCount ${INPUTDIR} ${OUTPUTDIR}
作业的输出将放在 ${OUTPUTDIR} 目录中。此目录由 Hadoop 作业创建,因此在运行作业之前确保它不存在。
有关完整示例,请参见此处。