2017-02-01 5 views
0

Wie bekomme ich das dritthöchste Gehalt in Schwein, auch wenn es Duplikate enthält.3. Höchstes Gehalt in Schwein

Bitte helfen Sie mir dabei.

Eingang:

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

Was ist Ihr gewünschtes Ergebnis? Sie sagen sogar mit Duplikaten, aber Sie erklären nicht, wie Sie damit umgehen wollen. – Andrew

Antwort

0

Sie erreichen diese RANK verwendet und die dritte bekommen Datensatz in der deutlichen Gehalt relation.I'll Verwendung LIMIT klassifiziert.

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