2015-12-04 5 views
5

Ich verwende Funke mit Python und ich habe ein Filterkriterium wie folgt:Wie übergeben Sie zusätzliche Parameter an benutzerdefinierte Methoden in Pypspark für Filtermethode?

my_rdd.filter(my_func) 

wo my_func ein Verfahren ist, schrieb ich die rdd Artikel auf meine eigene Logik zu filtern. Ich habe die my_func wie folgt definiert:

def my_func(my_item): 

{ 
... 
} 

Nun möchte ich einen weiteren separaten Parameter zu übergeben my_func neben dem Element, das in es geht. Wie kann ich das machen? Ich weiß, dass my_item auf ein Element verweist, das von my_rdd stammt, und wie kann ich meinen eigenen Parameter übergeben (sagen wir my_param) als zusätzlichen Parameter zu my_func?

+1

Mögliches Duplikat [Spark-RDD - Mapping mit zusätzlichen Argumenten] (http://stackoverflow.com/questions/33019420/spark-rdd -mapping-with-extra-Argumente) – zero323

Antwort

8

Verwendung unter Lambda-Syntax und ändern Sie Ihre my_func mit zusätzlichen Parametern:

my_rdd.filter(lambda row: my_func(row,extra_parameter)) 
Verwandte Themen