缓存RDD并添加执行器

时间:2018-01-14 18:56:53

标签: apache-spark

场景:

  • 启动包含1个节点的群集
  • 使用spark.Executer.instances = 10
  • 启动应用程序
  • 创建一个RDD重新分区到100个部分并缓存它。
  • 向群集添加9个节点

您将看到应用程序已接受所有10个执行程序,但实际工作节点只是第一个。

是否有人知道这是否有效?

2 个答案:

答案 0 :(得分:0)

是的,这是它的工作方式。

  • RDD的分区缓存在特定节点上。
  • DAG,结果输入,输出和数字不会改变,除非重新计算所有内容。这将我们带到了前一点。

答案 1 :(得分:0)

因此,在创建需要缓存的RDD检查点时,在这种情况下,您必须在使用之前使用rdd.unpersist。