Java中的嵌入式猪:java.io.IOException:无法运行程序“cygpath”

时间:2014-01-14 06:28:33

标签: java hadoop apache-pig

我正在尝试运行基本的嵌入式猪Java代码。

我正在从远程计算机访问Hadoop集群。

HadoopVersion:2.0.0-cdh4.3.0, PigVersion:0.11.0-cdh4.3.0

代码如下所示:

Properties lProperties = new Properties();
lProperties.setProperty("fs.defaultFS", "<server>:<hdfsport>");
lProperties.setProperty("yarn.resourcemanager.address", "<server>:<port>");
try {
    PigServer pigServer = new PigServer(ExecType.MAPREDUCE,lProperties);
    pigServer.registerQuery("A = load '/input_data/pig_input.txt' as (key,name);");
    pigServer.registerQuery("B = foreach A generate $0 as id;");
    pigServer.store("B", "test_output");
}

我可以使用PuTTy SSH独立运行Pig Commands和Pig Scripts。 但是,在Eclipse IDE中运行上述Java代码时,我收到以下错误:

java.io.IOException: Cannot run program "cygpath": CreateProcess error=2, The system cannot find the file specified

是否必须安装Cygwin才能在Java中成功运行Embedded Pig?

1 个答案:

答案 0 :(得分:1)

对于Pig版本0.11 Cygwin是一个依赖项。从版本0.12开始,不再需要Cygwin,但您可能仍需要安装一些基本实用程序,例如sedgzip

请参阅PIG-2793 Make Pig Work on Windows without Cygwin