在 Pig 中删除单列

2023-12-22

我正在按大约 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();

我不喜欢的是 D 行,我必须重新生成一个新表,通过显式声明我想要存在的每个其他列(有时是很多列)来摆脱连接列。我想知道是否有相当于以下内容的东西:

FILTER B BY $0 IN (A)

or:

DROP $0 FROM C

也许与这个问题类似:

  • 如何使用 Pig Latin“更新”列 https://stackoverflow.com/questions/4682912/how-to-update-a-column-using-pig-latin

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

D = FOREACH C GENERATE $1 .. ;

假设您有 0.9.0+ PIG

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Pig 中删除单列 的相关文章

随机推荐