Hadoop 猪的第三高工资

Hadoop 猪的第三高工资,hadoop,apache-pig,Hadoop,Apache Pig,如何在pig中获得第三高的工资,即使它包含重复项 请帮我做这个 输入: Sri 30000 Abhi 15000 SAS 15000 mansa 18000 asdf 5262 dnaj 20000 harda 20000 您可以使用排名来实现这一点,并在不同的薪资关系中获得排名第三的记录。我将使用限制 A = LOAD 'data.txt' USING PigStorage('\t') AS (name:chararray,salary:int); B = FOREACH A GENERAT

如何在pig中获得第三高的工资,即使它包含重复项

请帮我做这个

输入:

Sri 30000
Abhi 15000
SAS 15000
mansa 18000
asdf 5262
dnaj 20000
harda 20000

您可以使用排名来实现这一点,并在不同的薪资关系中获得排名第三的记录。我将使用限制

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);
A

Sri 30000
Abhi 15000
SAS 15000
mansa 18000
asdf 5262
dnaj 20000
harda 20000
B

30000
15000
15000
18000
5262
20000
20000
C

30000
15000
18000
5262
20000
D

30000
20000
18000
15000
5262
E

30000
20000
18000
F

18000
20000
30000
G

18000
H

mansa 18000

你期望的结果是什么?你说即使是重复的,但你没有解释你想如何处理它们。