我正在学习在 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 作业创建,因此在运行作业之前确保它不存在。
参见 here一个完整的例子。
关于java - 在 hadoop 集群上运行 mapreduce java 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10493802/