2016-12-18 3 views
0

Beim Finden von Max-Wert mit Reduzieren in Pyspark habe ich das folgende unerwartete Ergebnis.unerwarteter Fehler beim Reduzieren

agg.reduce(lambda a,b : a if a > b else b) 

und meine Beispieldaten ist

(u'2013-10-17', 80325.0) 
(u'2014-01-01', 68521.0) 
(u'2013-11-10', 83691.0) 
(u'2013-11-14', 149289.0) 
(u'2013-11-18', 94756.0) 
(u'2014-01-30', 126171.0) 

und Ergebnis ist

(u'2014-07-24' , 97088,0)

Es gab mehr führen sollte als 94756

Danke sPradeep

Antwort

1

Sie sollten den zweiten Wert in Tupel, wie dies vergleichen:

agg.reduce(lambda a,b : a if a[1] > b[1] else b) 
+0

Ich entschuldige mich für die verspätete Antwort, Danke für die Hilfe @Mariusz –

1

Gerade max mit key verwenden:

rdd.max(key=lambda x: x[1]) 
Verwandte Themen