gpt4 book ai didi

java - 如何在hadoop 0.23.0 MR2上运行和编译java程序

转载 作者:可可西里 更新时间:2023-11-01 15:41:29 27 4
gpt4 key购买 nike

我创建了一个 .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/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com