2016-11-28 1 views
0

Je suis en train de résoudre l'erreur suivante (j'utilise la plate-forme databricks et étincelle 2,0)erreur Pyspark avec UDF: py4j.Py4JException: Méthode __getnewargs __ ([]) n'existe pas d'erreur

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) 

Si je exécuter ce code, je reçois l'erreur suivante:

py4j.Py4JException: Méthode getnewargs ([]) n'existe pas ==> erreur se produit uniquement lorsque vous essayez de définir la udf.

Répondre

1

La fonction UDF transforme une fonction régulière en une fonction appliquée à n'importe quel élément de la colonne d'entrée. Vous ne pouvez pas avoir cette fonction appelez les fonctions spark (dans ce cas, vous appelez spark.sql qui aurait à son tour besoin de créer des travailleurs, etc., ce qui n'est pas supporté.)

+0

merci beaucoup –