如果RDD中的Spark通过RDD持久存在于磁盘上而从执行器丢失中恢复

时间:2017-03-20 12:41:17

标签: apache-spark yarn

我准备了一些RDD并计算了几个小时。我用YARN。有时遗嘱执行者会迷失,而火花(1.6)会因为错过源数据而变得疯狂。 似乎持续存在(DISK)可以帮助我解决这种情况。

但我想知道,由于磁盘上的持久性使用非dfs存储数据,远程执行程序如何读取它?或者计算是否停留,直到YARN可以将执行程序安排到特定节点?

也许我使用了错误的机制,rdd.checkpoint(hdfs://)在这里更合适?

1 个答案:

答案 0 :(得分:0)

所以我毕竟选择了检查点。

据我所知,缓存只有进一步迭代的加速目标,但不是可靠性。例如,使用属性spark.dynamicAllocation.cachedExecutorIdleTimeout甚至可以在某个时候删除数据。

基于文档 http://spark.apache.org/docs/latest/job-scheduling.html#graceful-decommission-of-executors删除执行程序后,无法访问其缓存的数据,尽管" spark shuffle service"可在主机上使用(它可用于其他目的)。

检查点似乎工作正常。