0
我是pyspark的新手,我嘗試創建一個簡單的udf,必須帶兩個輸入列,檢查第二列是否有空格,如果是,則將第一列一到兩個值並覆蓋原始列。這是我做了什麼:如何在pyspark中創建具有兩個輸入的UDF
def split(x, y):
if x == "EXDRA" and y == "":
return ("EXT", "DCHA")
if x == "EXIZQ" and y == "":
return ("EXT", "IZDA")
udf_split = udf(split, ArrayType())
df = df \
.withColumn("x", udf_split(df['x'], df['y'])[1]) \
.withColumn("y", udf_split(df['x'], df['y'])[0])
但是當我運行這段代碼,我得到了以下錯誤:
File "<stdin>", line 1, in <module>
TypeError: __init__() takes at least 2 arguments (1 given)
我在做什麼錯?
謝謝 阿爾瓦羅