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?

questionAnswers(3)

yourAnswerToTheQuestion