Apache pig PIG中的条件过滤器

Apache pig PIG中的条件过滤器,apache-pig,Apache Pig,我有以下数据集,其中我需要找出每个客户(f1)所有记录中的最小日期,并列出日期大于最小日期的记录 f1 f2 f3 101乔2015-01-01 101乔2015-31-01 101乔2016-01-01 101乔2016-04-01 101乔2016-09-01 101乔2016-31-01 101乔2017-01-01 102 KAT 2015-21-01 102 KAT 2015-05-01 102 KAT 2016-02-01 102 KAT 2016-04-01 102 KAT 20

我有以下数据集,其中我需要找出每个客户(f1)所有记录中的最小日期,并列出日期大于最小日期的记录

f1 f2 f3
101乔2015-01-01
101乔2015-31-01
101乔2016-01-01
101乔2016-04-01
101乔2016-09-01
101乔2016-31-01
101乔2017-01-01
102 KAT 2015-21-01
102 KAT 2015-05-01
102 KAT 2016-02-01
102 KAT 2016-04-01
102 KAT 2016-09-01
102 KAT 2016-31-01

102 KAT 2017-02-01
获取每个分组的最短日期,将其添加到所有记录中,然后使用它进行筛选

A = LOAD 'test30.txt' USING PigStorage(' ') AS (f1:int, f2:chararray, f3:chararray);
B = FOREACH A GENERATE f1,f2,ToDate(f3,'yyyy-MM-dd') as f3;
G = GROUP A BY (f1, f2);
M = FOREACH G GENERATE FLATTEN(A),MIN(A.f3) AS min_date;
F = FOREACH (FILTER M BY f3 > min_date) GENERATE f1,f2,f3;
DUMP F;

获取每个分组的最短日期,将其添加到所有记录中,然后使用它进行筛选

A = LOAD 'test30.txt' USING PigStorage(' ') AS (f1:int, f2:chararray, f3:chararray);
B = FOREACH A GENERATE f1,f2,ToDate(f3,'yyyy-MM-dd') as f3;
G = GROUP A BY (f1, f2);
M = FOREACH G GENERATE FLATTEN(A),MIN(A.f3) AS min_date;
F = FOREACH (FILTER M BY f3 > min_date) GENERATE f1,f2,f3;
DUMP F;

非常感谢非常感谢