Вы можете добиться этого с помощью RANK и получить 3-й ранжированный запись в отчетливой зарплаты использования relation.I'll LIMIT.
A = LOAD 'data.txt' USING PigStorage('\t') AS (name:chararray,salary:int);
B = FOREACH A GENERATE A.Salary;
C = DISTINCT B;
D = ORDER C BY C.$0 DESC;
E = LIMIT D 3;
F = ORDER E BY E.$0 ASC;
G = LIMIT F 1;
H = FILTER A BY (A.Salary = G.$0);
Sri 30000
Abhi 15000
SAS 15000
mansa 18000
asdf 5262
dnaj 20000
harda 20000
Б
30000
15000
15000
18000
5262
20000
20000
С
30000
15000
18000
5262
20000
D
30000
20000
18000
15000
5262
Е
30000
20000
18000
F
18000
20000
30000
G
18000
H
mansa 18000
Что вы желаемый результат? Вы говорите даже с дубликатами, но вы не объясняете, как вы хотите с ними справиться. – Andrew