Uso do objeto Python personalizado no Pyspark UDF
Ao executar o seguinte código PySpark:
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()))
Estou tendo o erro a seguir:_pickle.PicklingError: Could not serialize object: TypeError: can't pickle _thread.lock objects
Eu imagino que isso ocorre porque o PySpark não pode serializar essa classe personalizada. Mas como evitar a sobrecarga de instanciar esse objeto caro a cada execução doparse_ingredients_line
função?