在Pig中删除单列

Luc*_*cas 4 hadoop mapreduce apache-pig

我正在通过大约20个ID的列表过滤表.现在我的代码看起来像这样:

A = LOAD 'ids.txt' USING PigStorage();
B = LOAD 'massive_table' USING PigStorage();
C = JOIN A BY $0, B BY $0;
D = FOREACH C GENERATE $1, $2, $3, $4, ...
STORE D INTO 'foo' USING PigStorage();
Run Code Online (Sandbox Code Playgroud)

我不喜欢的是D行,我必须通过显式声明我想要的每一个其他列来重新生成一个新表来摆脱加入列(有时这是很多列).我想知道是否有相当于:

FILTER B BY $0 IN (A)
Run Code Online (Sandbox Code Playgroud)

要么:

DROP $0 FROM C
Run Code Online (Sandbox Code Playgroud)

Chr*_*ite 9

也许这个问题类似于:

这引用了一个JIRA票证:https://issues.apache.org/jira/browse/PIG-1693哪些示例如何使用..表示法来表示所有剩余的字段:

D = FOREACH C GENERATE $1 .. ;
Run Code Online (Sandbox Code Playgroud)

假设您有0.9.0+ PIG