если хочешь. Очевидно, что он не может пережить родительский переводчик, над которым вы не имеете никакого контроля. В противном случае вы можете легко добавить ведение журнала и использовать отладчик, чтобы увидеть, что инициализация применяется только при первом вызове.
апуске следующего фрагмента кода 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()))
Я получаю следующую ошибку:_pickle.PicklingError: Could not serialize object: TypeError: can't pickle _thread.lock objects
Я предполагаю, что это потому, что PySpark не может сериализовать этот пользовательский класс. Но как я могу избежать накладных расходов на создание этого дорогостоящего объекта при каждом запускеparse_ingredients_line
функционировать?