咕噜模式下的pig

x7rlezfr  于 2021-06-24  发布在  Pig
关注(0)|答案(5)|浏览(375)

我已经在windows中安装了cygwin、hadoop和pig。配置似乎还可以,因为我可以在批处理和嵌入式模式下运行pig脚本。
当我试着用咕噜声跑Pig的时候,奇怪的事情发生了。让我解释一下。我试着运行一个简单的命令,比如

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

当我按回车键时,什么也没发生。光标移到下一行 grunt> 提示不再出现。我好像在用文本编辑器打字。
你有过类似的经历吗?你知道我怎么解决这个问题吗?

w8f9ii69

w8f9ii691#

这种行为与你所观察到的是一致的。我将以Pig教程为例。
以下命令不会导致 pig .

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

但是如果您调用一个命令导致使用来自变量的数据 raw 使用一些map reduce,你会在咕噜shell中看到一些动作。这里提到的第二个命令。

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

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

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

4dc9hkyq2#

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

hl0ma9xz

hl0ma9xz3#

Pig壳挂在锡温。但pig脚本已从pig脚本文件成功执行。
具体如下:

$pig ./user/input.txt

对于本地模式:

pig -x local ./user/input.txt
wpx232ag

wpx232ag4#

请尝试在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路径。。
它在本地和Map缩小模式下都能很好地工作。。

wfauudbj

wfauudbj5#

当您使用创建输出的命令时,pig将只处理这些命令 DUMP (至控制台)或 STORE 也可以使用命令 DESCRIBE 获取别名的结构 EXPLAIN 查看Map/缩减计划
所以基本上 DUMP A; 会在一个小时内给你所有的记录

相关问题