繁体   English   中英

为什么我们需要完全在Spark中分发文件,例如--py-files?

[英]Why we need to distribute files in Spark at all, e.g. --py-files?

正如我从SO的许多博客和帖子中读到的,例如, 这个 (在前几段中),引用如下:

为了不涉及太多细节,但是当您在RDD上运行不同的转换(地图,flatMap,过滤器和其他)时,转换代码(关闭)为:

  1. 在驱动程序节点上序列化,
  2. 运送到群集中的相应节点,
  3. 反序列化,
  4. 最后在节点上执行

好,这是我的看法:

我在驱动程序中定义了一些自定义转换/动作函数,然后这些自定义函数将被序列化到所有执行程序以运行作业。

那么将多余的py文件运送到所有节点的意义何在? 既然执行者需要的所有东西都将被序列化给他们,那么到底发生了什么?

不确定,但可以使用spark 2.x和DataFrame API避免序列化并将scala代码发送到您的节点,而无需在节点上处理额外的python容器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM