PIG - 按组内容过滤groupby

时间:2014-05-19 10:25:06

标签: group-by apache-pig

我是猪的新手,我想知道我是否可以轻松地使用它进行任何组间过滤。 我有一些按用户ID和一些时间戳分组的数据。我想只采用两个连续时间间隔小于30分钟的组。在Pig中这很容易表达吗?

非常感谢!

1 个答案:

答案 0 :(得分:1)

最简洁的方法是编写UDF。该函数将一袋时间戳作为输入,对它们进行排序,并计算时间戳之间的最小差异。然后,您可以根据此UDF的输出过滤数据。

如果您真的想要,可以在纯Pig Latin中执行此操作,尽管它涉及更多临时数据和map-reduce循环,这意味着它可能不值得。这将涉及FLATTEN两次时间戳包以获得其交叉产品,为分隔少于30分钟的任何时间戳对创建指示符变量,然后为每个用户求和该变量。任何总和大于零的用户都拥有您想要的属性。

试一试,如果您遇到任何具体问题,请发布另一个问题,详细说明您遇到的问题。