与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,这反过来又需要创建不支持的工人等)。

+0

非常感谢你 –