pickle.PicklingError:无法挑选未打开以供阅读的文件

时间:2017-05-15 10:34:39

标签: pyspark pickle google-cloud-dataproc

我在dataproc上运行pyspark作业时遇到此错误。可能是什么原因?

这是错误的堆栈跟踪。

sipDateArray

1 个答案:

答案 0 :(得分:1)

我发现了问题。我在Map函数中使用了一个字典。 它失败的原因是:工作节点无法访问我在地图函数中传递的字典。

解决方案:

I broadcasted the dictionary and then used it in function (Map)
sc =  SparkContext()
lookup_bc = sc.broadcast(lookup_dict)

然后在功能上,我使用这个来获取价值:

data = lookup_bc.value.get(key)

希望它有所帮助!