RDD 中的检查点机制的理解
概念理解
检查点机制目的: 数据的持久化 + 安全性(HDFS)
检查点机制适用场合:
- DGA 中的 Lineage过长
- 在宽依赖上设置 检查点 更好
检查点:
将 RDD 的数据进行持久化到文件系统(HDFS)中
分析
问题:checkPoint 执行跟 cache 一样么?
代码如下:(这里的 HDFS 路径注意自己本地 hosts 文件要有映射关系)
@Test
def checkPointDemo(): Unit = {
sc.setCheckpointDir("hdfs://master:9000/cache")
val oldRDD = sc.makeRDD(1 to 2)
val newRDD = oldRDD
.map(_.toString + "[" + System.currentTimeMillis() + "]")
newRDD.checkpoint()
newRDD.foreach(println)
newRDD.foreach(println)
newRDD.foreach(println)
}
结果:
1[1588064924441]
2[1588064924442]
1[1588064924730]
2[1588064924730]
2[1588064924730]
1[1