(Spark版本:2.x)
当Spark在客户端模式下运行时,驱动程序在Integer.MAX_VALUE
命令启动的同一JVM上执行:因此,当在远程集群上连接时(例如在云中),驱动程序可能共享一个来自工作者的不同submit
(驱动程序甚至可能在Windows中,而工作者可以在Linux中运行)。
话虽如此,在序列化FileSystem
实例时,或者甚至只编写一个带有镶木地板的MLWritable
时,驱动程序必须与工作者共享相同的路径它会写入DataFrame
和_SUCCESS
个文件。我是否应该理解Spark始终意味着驱动程序和工作人员之间的一致性(这很可惜:在客户端模式下进行调试代码要容易得多,即使它在云中的集群中运行也是如此......)。
答案 0 :(得分:0)
不幸的是,是的。 Spark使用Hadoop路径,并且由于充足的原因,它们在驱动程序和执行程序上都需要相同。好处是,实现自己的FileSystem
(根据Hadoop)mais非常容易使其正常工作。