[英]Why we need to distribute files in Spark at all, e.g. --py-files?
正如我从SO的许多博客和帖子中读到的,例如, 这个 (在前几段中),引用如下:
为了不涉及太多细节,但是当您在RDD上运行不同的转换(地图,flatMap,过滤器和其他)时,转换代码(关闭)为:
- 在驱动程序节点上序列化,
- 运送到群集中的相应节点,
- 反序列化,
- 最后在节点上执行
好,这是我的看法:
我在驱动程序中定义了一些自定义转换/动作函数,然后这些自定义函数将被序列化到所有执行程序以运行作业。
那么将多余的py文件运送到所有节点的意义何在? 既然执行者需要的所有东西都将被序列化给他们,那么到底发生了什么?
不确定,但可以使用spark 2.x和DataFrame API避免序列化并将scala代码发送到您的节点,而无需在节点上处理额外的python容器。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.