если хочешь. Очевидно, что он не может пережить родительский переводчик, над которым вы не имеете никакого контроля. В противном случае вы можете легко добавить ведение журнала и использовать отладчик, чтобы увидеть, что инициализация применяется только при первом вызове.

апуске следующего фрагмента кода 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 функционировать?

Ответы на вопрос(3)

Ваш ответ на вопрос