2015-12-04 11 views
5

Sto usando gli elettrodi con Python e ho un vincolo di filtro come segue:Come passare parametri aggiuntivi ai metodi definiti dall'utente in pyspark per il metodo di filtro?

my_rdd.filter(my_func) 

dove my_func è un metodo che ho scritto per filtrare gli elementi RDD in base alla mia logica. Ho definito il my_func come segue:

def my_func(my_item): 

{ 
... 
} 

Ora, voglio passare un altro parametro separato per my_func, oltre l'elemento che va in esso. Come lo posso fare? So che my_item farà riferimento a un elemento che proviene da my_rdd e come posso passare il mio parametro (diciamo my_param) come parametro aggiuntivo a my_func?

+1

Eventuali duplicati di [RDD Spark - Mapping con argomenti extra] (http://stackoverflow.com/questions/33019420/spark-rdd -mapping-con-extra-argomenti) – zero323

risposta

8

Usando sotto sintassi lambda e modificare il my_func con parametri extra:

my_rdd.filter(lambda row: my_func(row,extra_parameter)) 
Problemi correlati