【发布时间】:2017-10-11 15:38:45
【问题描述】:
运行以下 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 函数时实例化这个昂贵的对象的开销?
【问题讨论】:
标签: python apache-spark pyspark apache-spark-sql