java - hadoop编译——在dfs文件中

标签 java hadoop jar compiler-errors

我想用下面的命令编译hadoop的例子,但是出现了错误: enter image description here

$ mkdir wordcount_classes
$ javac -classpath ${HADOOP_HOME}/hadoop-${HADOOP_VERSION}-core.jar -d wordcount_classes WordCount.java
$ jar -cvf /usr/joe/wordcount.jar -C wordcount_classes/ .

Assuming that:

    /usr/joe/wordcount/input - input directory in HDFS
    /usr/joe/wordcount/output - output directory in HDFS

Sample text-files as input:

$ bin/hadoop dfs -ls /usr/joe/wordcount/input/
/usr/joe/wordcount/input/file01
/usr/joe/wordcount/input/file02

$ bin/hadoop dfs -cat /usr/joe/wordcount/input/file01
Hello World Bye World

$ bin/hadoop dfs -cat /usr/joe/wordcount/input/file02
Hello Hadoop Goodbye Hadoop 

最佳答案

/usr/joe 是本地的,正如您在第一行执行 ls 命令时所见。第二个命令需要在 HDFS 位置进行输入和输出,但 /usr/joe 在 HDFS 上不存在。您需要将数据移动到 HDFS 上,然后执行命令。例如:

#This creates a folder "wordcount/input" in your HDFS home directory
hdfs dfs -mkdir -p wordcount/input
hdfs dfs -put /usr/joe/wordcount/input/* wordcount/input

关于java - hadoop编译——在dfs文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33566005/

相关文章:

java - 引用不同子项目中的自定义 jar 文件

java - 比较 2d int 数组与字符的最佳方法?

java - Maven/Netbeans 有不同的测试配置文件和环境变量

hadoop - 使用 oozie 工作流运行 JAVA 代码

hadoop - 适用于ubuntu的hadoop框架

hadoop - 按多个文件分组

java - 如何列出特定jar文件中的所有包?

java - 如何从我的程序创建 Jar 文件

java - 如何在多个实体中使用通用实体

Java GUI - 删除所有组件并重绘