我已经在Windows中安装了Cygwin,hadoop和Pig。配置似乎还可以,因为我可以在批处理和嵌入式模式下运行Pig脚本。
[当我尝试以咕gr声模式运行小猪时,会发生一些奇怪的事情。让我解释。我尝试运行一个简单的命令,如
grunt> A = load 'passwd' using PigStorage(':');
当我按Enter键时,什么也没有发生。光标移至下一行,并且grunt>
提示根本不再出现。好像我在输入文本编辑器一样。
您发生过类似的事情吗?你知道我该怎么解决吗?
该行为与您所观察的一致。我将以pig tutorial为例。
以下命令不会导致pig
进行任何活动。
raw = LOAD 'excite.log' USING PigStorage('\t') AS (user, time, query);
但是如果您调用某个命令,导致使用变量map-reduce来使用变量raw
中的数据,那么您将在grunt shell中看到某些动作。此处提到的第二条命令的内容。
clean1 = FILTER raw BY org.apache.pig.tutorial.NonURLDetector(query);
类似地,您的命令将不会执行任何操作,您必须使用变量A
中的数据,这会导致map-reduce命令在grunt shell上执行某些操作:
grunt> A = load 'passwd' using PigStorage(':');
[Pig仅在使用创建输出的命令即DUMP
(用于控制台)或STORE
时处理命令,还可以使用命令DESCRIBE
获取别名的结构,并使用EXPLAIN
查看别名的结构)地图/缩小方案
所以基本上DUMP A;
将为您提供A中的所有记录
请尝试在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。日志-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。主-x本地
相应地用您的用户ID替换$USERNAME$
..
相应地修改类路径和配置路径..
它在本地和地图缩小模式下均能正常工作..
猪壳在cygwin中挂断。但是从猪脚本文件成功执行了猪脚本。
如下:
$pig ./user/input.txt
对于本地模式:
pig -x local ./user/input.txt
我昨天遇到了和你相同的问题,我花了一整天的时间来找出我的猪或热键出了什么问题,并最终解决。我发现这仅仅是因为我从其他资源复制了Pig代码,然后在Pig命令行中无法识别出弯引号,它只允许使用直引号,因此输入流不会结束。我的建议是,您应该注意代码中的有效字符,尤其是当您仅将代码复制到命令行中时,这总是会导致意外错误。