2016-11-28 90 views
0

我試圖解決以下錯誤(我用的是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時。

回答

1

UDF函數將正則函數轉換爲應用於輸入列的任何元素的函數。你不能讓這個函數調用spark函數(在這種情況下,你正在調用spark.sql,這反過來又需要創建不支持的工人等)。

+0

非常感謝你 –