【发布时间】:2017-01-31 04:37:15
【问题描述】:
我有一个使用 pyspark 的 python 项目,我正在尝试在 spark 项目中(不在我的 python 项目中)定义一个 udf 函数,特别是在 spark\python\pyspark\ml\tuning.py 中,但我遇到了酸洗问题。它无法加载udf。 代码:
from pyspark.sql.functions import udf, log
test_udf = udf(lambda x : -x[1], returnType=FloatType())
d = data.withColumn("new_col", test_udf(data["x"]))
d.show()
当我尝试 d.show() 时,我得到了未知属性 test_udf 的异常
在我的 python 项目中,我定义了许多 udf,它运行良好。
【问题讨论】:
-
这只是将其输入堆栈溢出时的拼写错误,还是您的代码中也有此错误?
ltest_udf(应该是test_udf(对吧? -
试试这个,去掉
returnType=,直接写成udf(lambda x : -x, FloatType())
标签: python pyspark udf apache-spark-ml