我正在尝试解决以下错误(我正在使用databricks平台和spark 2.0)
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时才会出现错误。
答案 0 :(得分:4)
UDF函数将常规函数转换为应用于输入列的任何元素的函数。您不能使用此函数调用spark函数(在这种情况下,您调用的是spark.sql,而这需要创建不受支持的worker等。