作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我创建了一个 .java 文件以在 cloudera hadoop 上运行。编译它,
javac -classpath $HADOOP_COMMON_HOME/share/hadoop/mapreduce/hadoop-mapreduce-client- core-3.0.0-SNAPSHOT.jar -d multifetch_classes MultiFetch.java
错误:
MultiFetch.java:12: package org.apache.hadoop.conf does not exist
import org.apache.hadoop.conf.Configuration;
^
MultiFetch.java:13: package org.apache.hadoop.conf does not exist
import org.apache.hadoop.conf.Configured;
^
MultiFetch.java:14: package org.apache.hadoop.fs does not exist
import org.apache.hadoop.fs.Path;
^
MultiFetch.java:15: package org.apache.hadoop.io does not exist
import org.apache.hadoop.io.Text;
我是否选择了错误的 jar 来执行文件,或者我是否遵循了错误的程序来编译 java 文件。请让一些人纠正这个错误。
最佳答案
上述大多数错误都与无法找到 Hadoop 库来编译您的示例应用程序有关。
基于 Java 的 Map/Reduce 示例构建命令如下所示:
$javac \
-classpath ${HADOOP_HOME}/hadoop-${HADOOP_VERSION}-core.jar \
-d wordcount_classes \
WordCount.java
在我的例子中,jar 文件是 hadoop-0.20.203.1-SNAPSHOT-core.jar
。如果你看一下你的命令,你会发现有些地方不对:
javac -classpath $HADOOP_COMMON_HOME/share/hadoop/mapreduce/hadoop-mapreduce-client- core-3.0.0-SNAPSHOT.jar -d multifetch_classes MultiFetch.java
您可以做的是,您可以使用上面示例中给出的 classpath
构建您的示例。
关于java - 如何在hadoop 0.23.0 MR2上运行和编译java程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10530466/
我是一名优秀的程序员,十分优秀!