pig 脚本本身不支持按field 来distinct
例如以下文本,想按照 前三个字段来distinct, 可以用以下pig 脚本来做
a.txt
1,2,3,4
1,2,3,4
1,2,3,5
1,2,4,4
A = LOAD 'a.txt' using PigStorage(',') AS (a1,a2,a3,a4);
grouped_by_a4 = GROUP A BY (a1,a2,a3);
grouped_and_distinct = FOREACH grouped_by_a4 {
single = LIMIT A 1;
GENERATE FLATTEN(single);
};
dump grouped_and_distinct;
dump 出的结果如下:
(1,2,3,5)
(1,2,4,4)