Pig:Cogroup如何避免空白值

用户名

我是猪的新手。在做一个COGROUP我遇到的问题。我正在尝试COGROUP对两个文件执行操作。我使用的键COGROUP具有空值。

以下是我的输入文件:Input_file_1:

a|b||
e|f||

Input_file_2:

a|b||
e|f||

我在执行时将所有四列用作键COGROUP(最后两列为空白)

我的预期输出是两条记录,但是我得到了四条记录作为输出。任何人都可以帮助COGROUP在PIG中进行操作时如何避免空白值

提前致谢。

苏拉杰·纳亚克(Suraj nayak)

空值在PIG中的处理方式非常不同。

根据艾伦·盖茨(Alan Gates)的话,《 Book Programming Pig的作者

cogroup处理键中的空值的方式与group类似,与join不同。也就是说,键中具有空值的所有记录将被收集在一起。

因此,COGROUP的输出为

((a,b,,),{(a,b,,)},{})
((a,b,,),{},{(a,b,,)})
((e,f,,),{(e,f,,)},{})
((e,f,,),{},{(e,f,,)})

在您的情况下,您必须加入JOIN而不是COGROUP。从而给您以下结果

(a,b,,,a,b,,)
(e,f,,,e,f,,)

然后生成所需的值。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章