在Pig中获取不同的元组集

时间:2016-11-09 17:30:22

标签: hadoop apache-pig schema

我有以下关系:

DUMP A;
(Rick, m, 22, Mary, f, 23)
(Helen, f, 35, Mark, m, 37)
(Mary, f, 23, Rick, m, 22)

六个元组基本上是两个三元组,你可以看到第一个元组和最后一个元组包含相同的信息,只是翻转过来。我需要消除这些重复。所以最终结果如下:

DUMP A_distinct;
(Rick, m, 22, Mary, f, 23)
(Helen, f, 35, Mark, m, 37)

从A中生成A_distinct会有什么简洁明了的方法? 感谢。

1 个答案:

答案 0 :(得分:-1)

一个解决方案可能是生成记录中所有值的哈希值,然后在其上运行一个不同的值。

伪代码看起来像这样 -

A = FOREACH A GENERATE A.$0,...A.$5, yourhashfunction(A.$0,...A.$5) as hash;
A = GROUP A by hash;

要检索每个分组BAG中的第一个元组,您可以参考here