pig命令出错

sbdsn5lh  于 2021-05-30  发布在  Hadoop
关注(0)|答案(2)|浏览(583)

我正在研究一些新hadoop/pig设置的示例。
这个相当简单的示例代码让我困惑。。

A1 = load 'passwd' using PigStorage(':') as (f1:chararray,f2:chararray,f3:chararray,f4:chararray,f5:chararray,f6:chararray,f7:chararray);

G = group A1 by f7;

foreach G generate group, a.$2;

g上的最后一个foreach失败,错误消息如下-

[main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 1000: Error during parsing.
Encountered " <IDENTIFIER> "foreach "" at line 1, column 1.

有人能礼貌地告诉我我遗漏了什么吗?或者我只是生疏了。。

whlutmcx

whlutmcx1#

你能把最后一行改成这样吗。

H = foreach G generate group, A1.$2;
DUMP H;

这里a1.$2表示您试图访问f3列,其他选项是

H = foreach G generate group, A1.f3;
jtw3ybtb

jtw3ybtb2#

谢谢,我相信问题就在附近
没有一个包来分配foreach g结果,所以,
foreach g生成。。。。
不起作用,但是

H = foreach....

做。
用a代替a1。我使用了一个未知变量“a”,而不是我应该指的正确的包,a1。
所以,对我来说正确的命令-

H = foreach G generate group, A1.f1;

谢谢。

相关问题