Lors de l'exécution suivant morceau de code PySpark:Utilisation d'objets Python personnalisé dans Pyspark UDF
nlp = NLPFunctions()
def parse_ingredients(ingredient_lines):
parsed_ingredients = nlp.getingredients_bulk(ingredient_lines)[0]
return list(chain.from_iterable(parsed_ingredients))
udf_parse_ingredients = UserDefinedFunction(parse_ingredients, ArrayType(StringType()))
Je reçois l'erreur suivante: _pickle.PicklingError: Could not serialize object: TypeError: can't pickle _thread.lock objects
J'imagine que c'est parce que PySpark ne peut pas sérialiser cette classe personnalisée . Mais comment puis-je éviter le surcoût d'instanciation de cet objet cher à chaque exécution de la fonction parse_ingredients_line
?
Cette solution proposée me donne la même erreur. –