我对Pig不熟悉。在做一个 COGROUP
我遇到了这个问题。我想做一个 COGROUP
在两个文件上。我用的钥匙 COGROUP
具有空值的。
以下是我的输入文件:输入文件1:
a|b||
e|f||
输入文件\u 2:
a|b||
e|f||
我使用所有的四列作为一个键,同时做一个 COGROUP
. (最后两列为空)
我的预期输出是两个记录,但我得到四个记录作为一个输出。有谁能帮助我们在做一个测试时避免空白值吗 COGROUP
在Pig身上。
提前谢谢。
我对Pig不熟悉。在做一个 COGROUP
我遇到了这个问题。我想做一个 COGROUP
在两个文件上。我用的钥匙 COGROUP
具有空值的。
以下是我的输入文件:输入文件1:
a|b||
e|f||
输入文件\u 2:
a|b||
e|f||
我使用所有的四列作为一个键,同时做一个 COGROUP
. (最后两列为空)
我的预期输出是两个记录,但我得到四个记录作为一个输出。有谁能帮助我们在做一个测试时避免空白值吗 COGROUP
在Pig身上。
提前谢谢。
1条答案
按热度按时间ergxz8rk1#
空值在pig中的处理方式非常不同。
正如《编程Pig》一书的作者艾伦·盖茨所说
cogroup处理键中的空值与group类似,与join不同。也就是说,键中具有空值的所有记录将一起收集。
因此,cogroup的输出将是
在您的情况下,您必须选择join而不是cogroup。从而得到以下结果
然后生成所需的值。