spark检查点和本地检查点有什么区别?

Sha*_*per 4 apache-spark spark-checkpoint

spark检查点和本地检查点有什么区别?在创建本地检查点时,我在 spark UI 中看到了这一点:

在此处输入图片说明

它表明本地检查点保存在内存中。

Liz*_*ing 5

本地检查点将您的数据存储在执行程序存储中(如您的屏幕截图所示)。它对于截断 RDD 的谱系图很有用,但是,在节点故障的情况下,您将丢失数据并且需要重新计算它(取决于您的应用程序,您可能需要付出高昂的代价)。

“标准”检查点将您的数据存储在可靠的文件系统(如 hdfs)中。它的执行成本更高,但即使出现故障,您也不需要重新计算数据。当然,它截断了谱系图。

截断长谱系图可避免堆栈溢出异常,并且在迭代算法中特别有用

  • 对于我来说,本地检查点直接写入执行器*磁盘*,而不是内存。[doc](https://spark.apache.org/docs/2.4.1/api/scala/index.html#org.apache.spark.sql.Dataset) 说:“本地检查点写入执行器存储” (3认同)