如何将列表传递给pyspark中的UserDefinedFunction(UDF)

时间:2017-11-23 19:02:12

标签: python pyspark

我需要传递一个列表作为我在pyspark中的某个UDF的参数。例如:

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))

但我总是收到错误。

1 个答案:

答案 0 :(得分:1)

过了一会儿,我发现我只需要使用字符' *'来传递列表。在它之前。例如:

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

这样,它就会起作用。