猪拉丁语 - foreach生成方法没有第一个字段

时间:2015-10-31 13:14:22

标签: hadoop apache-pig latin

我正面临着猪生成函数的一个奇怪问题,如果我不使用第一个字段,生成的数据似乎是错误的。这是预期的行为吗?

 a = load '/input/temp2.txt' using PigStorage(' ','-tagFile') as      (fname:chararray,line:chararray) ;
grunt> b = foreach a generate $1;
grunt> dump b;
      (temp2.txt)
      (temp2.txt)
grunt> c = foreach a generate $0,$1;
grunt> dump c;
       (temp2.txt,field1,field2)
       (temp2.txt,field1,field22)

$cat temp2.txt
field1,field2
field1,field22


pig -version
Apache Pig version 0.15.0 (r1682971)
compiled Jun 01 2015, 11:44:35

在示例中,我希望转储b返回数据文件值而不是文件名

1 个答案:

答案 0 :(得分:0)

在您的示例中,您使用 package.sub1.Foo ,因此每行都按空格分割。

然后:

$ 0 - > field1,field2

$ 1 - >什么都没有,

只需使用PigStorage(' ','-tagFile')