gpt4 book ai didi

java - 在类路径中找不到 Hadoop 配置,使用 Java 从本地在服务器中运行 mapreduce

转载 作者:可可西里 更新时间:2023-11-01 14:44:55 26 4
gpt4 key购买 nike

所以,

import java.io.IOException;
import java.util.Properties;

import org.apache.pig.ExecType;
import org.apache.pig.PigServer;


public class CommitPig {

public static void main(String[] args)
{
try{
String pigScript = "category_count.pig";
pigScriptReader psReader = new pigScriptReader();
psReader.readPigScript( pigScript );
} catch ( IOException e){
e.printStackTrace();
}

try{
Properties props = new Properties();
props.setProperty("fs.default.name", "<server id>");
props.setProperty("mapred.job.tracker.http.address", "<server id>");
props.setProperty("<server id> ");
PigServer pigServer = new PigServer( ExecType.MAPREDUCE, props);
runIdQuery(pigServer,"<input location>");

} catch ( Exception e){
e.printStackTrace();
}

}

private static void runIdQuery(PigServer pigServer, String inputFile) throws IOException {

pigServer.registerQuery("A = load '" + inputFile + "' using PigStorage(' ');");
pigServer.registerQuery("B = filter A BY $0 == 'testing';");
pigServer.store("B","id.out");

}
}

这是我目前正在运行的代码。

我正在尝试使用 Java 从本地连接到集群服务器,以运行 pig 查询。

它给我错误

ERROR 4010: Cannot find hadoop configurations in classpath (neither hadoop-site.xml nor core-site.xml was found in the classpath)

我尝试按照 apache 的说明在集群中设置类路径。

在 Mapreduce 模式下运行 Pig 脚本要在 mapreduce 模式下运行 Pig 脚本,请执行以下操作:

  1. 将 PIG_CLASSPATH 环境变量设置为集群配置目录(包含 core-site.xml、hdfs-site.xml 和 mapred-site.xml 文件的目录)的位置:export PIG_CLASSPATH=/mycluster/conf

  2. 将 HADOOP_CONF_DIR 环境变量设置为集群配置目录的位置:导出 HADOOP_CONF_DIR=/mycluster/conf

但是我仍然遇到同样的错误。我在这里理解错了吗?有人可以帮助我了解这里的问题到底是什么以及如何解决吗?

谢谢!

最佳答案

export HADOOP_HOME=/path/to/hadoop

然后 running pig 再次为我修复了它。

关于java - 在类路径中找不到 Hadoop 配置,使用 Java 从本地在服务器中运行 mapreduce,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17686215/

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