Apache Spark和远程方法调用

时间:2016-04-06 20:06:08

标签: scala serialization apache-spark rmi

我试图了解Apache Spark如何在幕后工作。在Spark中编写一点代码后,我非常确定它将RDD实现为RMI 远程对象,不是吗?

通过这种方式,它可以在转换中修改它们,例如map s,flatMap s等。不属于RDD的对象只是序列化并在执行期间发送给工作人员。

在下面的示例中,linestokens将被视为远程对象,而字符串toFind将被简单地序列化并复制到工作人员

val lines: RDD[String] = sc.textFile("large_file.txt")
val toFind = "Some cool string"
val tokens = 
  lines.flatMap(_ split " ")
       .filter(_.contains(toFind))

我错了吗?我用谷歌搜索了一下,但我没有找到任何关于Spark RDD内部实现的参考。

1 个答案:

答案 0 :(得分:1)

你是对的。 Spark序列化闭包以执行远程方法调用。

相关问题