2017-11-23 1 views
0

Ich muss eine Liste als Argumente für eine bestimmte UDF, die ich in pyspark haben. Beispiel:Wie führe ich die Liste zu UserDefinedFunction (UDF) in pyspark

def cat(mine,mine2): 
    if mine is not None and mine2 is not None: 
      return "2_"+mine+"_"+mine2 

udf_cat = UserDefinedFunction(cat, "string") 

l = ["COLUMN1","COLUMN2"] 

df = df.withColumn("NEW_COLUMN", udf_cat(l)) 

Aber ich bekomme immer einen Fehler.

Antwort

1

Nach einer Weile habe ich herausgefunden, dass ich nur die Liste mit dem Zeichen '*' weiterleiten muss. Beispiel:

df = df.withColumn("NEW_COLUMN", udf_cat(*l)) 

So wird es funktionieren.