當運行下面的一段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()))
我收到以下錯誤: _pickle.PicklingError: Could not serialize object: TypeError: can't pickle _thread.lock objects
我想這是因爲PySpark不能序列化這個自定義類。但是如何避免在parse_ingredients_line
函數的每次運行中實例化這個昂貴對象的開銷?
這個建議的解決方案給了我同樣的錯誤。 –