与UDF Pyspark错误:py4j.Py4JException:方法__getnewargs __([])不存在错误
问题描述:
我试图解决以下错误(我用的是databricks平台和火花2.0)与UDF Pyspark错误:py4j.Py4JException:方法__getnewargs __([])不存在错误
tweets_cleaned.createOrReplaceTempView("tweets_cleanedSQL")
def Occ(keyword):
occurences = spark.sql("SELECT * \
FROM tweets_cleanedSQL \
WHERE LOWER(text) LIKE '%" + keyword + "%' \
")
return occurences.count()
occurences_udf = udf(Occ)
如果我运行此代码,我收到以下错误:
py4j.Py4JException:方法getnewargs([])不存在==>错误只发生在试图定义udf时。
答
UDF函数将正则函数转换为应用于输入列的任何元素的函数。你不能让这个函数调用spark函数(在这种情况下,你正在调用spark.sql,这反过来又需要创建不支持的工人等)。
非常感谢你 –