Hadoop 使用pig脚本删除连续值的重复项

Hadoop 使用pig脚本删除连续值的重复项,hadoop,apache-pig,Hadoop,Apache Pig,如何使用pig脚本处理以下场景。 若我们有连续的行,其中前两列具有相同的数据,那个么只需要选择第一行,其余的行需要丢弃。这也需要在时间排序后完成 例如: 输入记录: **Account** **id** **time** account 1 20150214180057 account 1 21869 20150214180059 account 1 41866 20150214175753 account 1

如何使用pig脚本处理以下场景。 若我们有连续的行,其中前两列具有相同的数据,那个么只需要选择第一行,其余的行需要丢弃。这也需要在时间排序后完成

例如: 输入记录:

**Account**   **id**        **time**
account 1                20150214180057
account 1     21869      20150214180059
account 1     41866      20150214175753
account 1     41866      20150214176103
account 1     21869      20150214190059
account 1     41866      20150214185753
account 1     78343      20150214185900
account 1     78343      20150214189753
account 1     78343      20150214190003
account 1     21869      20150214190003
account 1     98766      20150214190003
account 1     98766      20150214190003
输出记录

**Account**   **id**       **time**
account 1      41866    20150214175753
account 1      21869    20150214180059
account 1      41866    20150214185753
account 1      78343    20150214185900
account 1      21869    20150214190003
account 1      98766    20150214190003
account 1      21869    20150214190059
我尝试使用Rank,但问题是所有具有类似帐户和id的记录都位于一个Rank之下,当我选择第一条记录时,其余记录将被丢弃。所以这个逻辑不起作用

请告诉我如何解决这个问题


谢谢。

你能试试idI上的过滤功能和区分功能吗?我认为唯一的方法是按帐户分组,然后用一个自定义项在生成的包上迭代,并消除不需要的条目。在包之外,您没有机会考虑连续记录,因为这是违反map-reduce范式的。先生假设您可以独立处理每一条记录。谢谢李木北。。我按帐户分组,编写UDF来读取元组包,比较连续记录并返回通缉记录。