5

我已经在 windows 中安装了 cygwin、hadoop 和 pig。配置似乎没问题,因为我可以在批处理和嵌入式模式下运行 pig 脚本。

当我尝试在 grunt 模式下运行 pig 时,发生了一些奇怪的事情。让我解释。我尝试运行一个简单的命令,例如

grunt> A = load 'passwd' using PigStorage(':'); 

当我按 Enter 时,什么也没有发生。光标转到下一行,grunt>提示不再出现。好像我在文本编辑器中输入。

你有没有发生过类似的事情?你知道我该如何解决这个问题吗?

4

5 回答 5

0

请尝试在 windows 命令窗口中运行。

C:\FAST\JDK64\1.6.0.31/bin/java -Xmx1000m -Dpig.log.dir=C:/cygwin/home/$USERNAME$/nubes/pig/logs -Dpig.log.file=pig.log - dpig.home.dir=C:/cygwin/home/$USERNAME$/nubes/pig/ -classpath C:/cygwin/home/$USERNAME$/nubes/pig/conf;C;C:/FAST/JDK64/1.6 .0.31/lib/tools.jar;C:/cygwin/home/$USERNAME$/nubes/pig/lib/jython-standalone-2.5.3.jar;C:/cygwin/home/$USERNAME$/nubes/pig /conf;C:/cygwin/home/$USERNAME$/nubes/hadoop/conf;C:/cygwin/home/$USERNAME$/nubes/pig/pig-0.11.1.jar org.apache.pig.Main - x 本地

相应地替换$USERNAME$为您的用户ID ..

相应地修改类路径和conf路径..

它在本地和地图缩减模式下都运行良好..

于 2013-07-08T14:14:23.187 回答
0

Pig 只会在您使用创建输出的命令DUMP(即到控制台)时处理命令,或者STORE您也可以使用命令DESCRIBE来获取别名的结构并EXPLAIN查看 map/reduce 计划

所以基本上DUMP A;会给你A中的所有记录

于 2013-05-01T17:42:44.520 回答
0

猪壳挂在cygwin中。但是猪脚本从猪脚本文件成功执行。

如下:

$pig ./user/input.txt  

对于本地模式:

pig -x local ./user/input.txt
于 2015-03-14T18:55:48.080 回答
0

该行为与您所观察到的一致。我将以猪教程为例。

以下命令不会导致任何活动pig

raw = LOAD 'excite.log' USING PigStorage('\t') AS (user, time, query);

但是,如果您调用一个命令,该命令导致raw使用一些 map-reduce 使用来自变量的数据,那么您将在 grunt shell 中看到一些操作。那里提到的第二条命令的一些东西。

clean1 = FILTER raw BY org.apache.pig.tutorial.NonURLDetector(query);

同样,您的命令不会导致任何操作,您必须使用A导致 map-reduce 命令的变量中的数据来查看 grunt shell 上的一些操作:

grunt> A = load 'passwd' using PigStorage(':'); 
于 2013-05-01T15:13:47.557 回答
0

我昨天也遇到了和你一样的问题,花了一整天的时间才找到我的猪或者我的热键出了什么问题,最后解决了。我发现只是因为我从其他资源中复制了pig代码,然后在pig命令行中无法识别弯曲引号,它只允许直引号,因此输入流不会结束。我的建议是您应该注意代码中的有效字符,尤其是当您只是将代码复制到命令行时,这总是会导致意外错误。

于 2019-10-26T02:17:17.130 回答