这是我在stackoverflow上的第一篇文章,如果这篇文章太长和/或含糊不清,请提前原谅。
我和Pig的关系如下:
my_relation = LOAD '/path/to/data' USING PigStorage(',')
AS (f1:chararray, f2:chararray, f3:chararray);
现在,我想从上面的关系“my\u relation”中过滤掉字段“f3”。我知道我可以这样做:
my_new_relation = FOREACH my_relation GENERATE my_relation.f1, my_relation.f2;
当我在“my\u relation”关系中有大量字段/元组时,这个方法就会出现问题。比如说,我的\关系有900个字段/元组,我想要所有字段/元组,但只有一个。现在,使用上面的方法,我必须在我的'generate'关键字后面列出899个字段/元组!
我的问题是:有没有一种简单的方法从piglatin的关系中过滤出一些字段/元组?
prior:我对apache pig和piglatin的理解一般都很弱(这个问题的难度可以说明这一点)。我还在看这里找到的Pig文件。
谢谢你阅读这个问题!感谢您的帮助!
2条答案
按热度按时间v09wglhw1#
您还可以编写自己的加载程序,在其中可以指定要加载的所有列。
frebpwbc2#
首先,你的语法不太正确。如果你想保存这些字段
f1
以及f2
,您可以这样做:对于您的问题,您可以使用项目范围表达式: