Hadoop ApachePig:如何比较当前元组值和prev值?

Hadoop ApachePig:如何比较当前元组值和prev值?,hadoop,apache-pig,Hadoop,Apache Pig,我有一个查询,需要将元组的前一个值与当前值进行比较,并标记该值是否有变化 输入: year, AccNo 1991, 1234 1992, 1234 1993, 1234 1991, 1235 1992, 1235 1991, 1236 1991, 1237 输出: recyear, AccNo, firstrec 1991, 1234, 1 1992, 1234, 0 1993, 1234, 0 1991, 1235, 1 1992, 1235, 0 1991, 1236,

我有一个查询,需要将元组的前一个值与当前值进行比较,并标记该值是否有变化

输入:

year, AccNo

1991, 1234 
1992, 1234 
1993, 1234 
1991, 1235 
1992, 1235 
1991, 1236 
1991, 1237 
输出:

recyear, AccNo, firstrec
1991, 1234, 1
1992, 1234, 0
1993, 1234, 0
1991, 1235, 1
1992, 1235, 0
1991, 1236, 1
1991, 1237, 1
我的问题是:有没有办法通过使用内置的Pig函数来实现这一点,这些函数允许我们根据帐号生成firstrec值

--添加两个列组

rank1 = rank input BY Accno,recyear;
rank2 = rank rank1 by Accno;
--创建第一个记录

output = foreach rank2 generate *, ($0==$1?1:0) as first_rec;

你能解释一下你在上面的输出中用来计算列
firstrec
的逻辑吗?sudar,它似乎工作不正常…我想知道我们是否可以尝试使用任何内置函数,如Stitch和Over。我想知道逻辑(我指的是你的要求)因此,我们可以建议您如何使用Pig实现。所有帐号值都在排序描述中。如果帐号发生更改,我希望生成“1”,如果帐号没有更改,则生成“0”。