Spark的checkpoint
什么时候需要做检查点
-
有时候中间结果数据或者
- shuffle后的数据需要在以后的job中经常调用,此时需要做checkpoint,
-
checkpoint的目的地
- 推荐最好把数据checkpoint到HDFS,保证数据安全性的前提下也便于集群所有节点能够获取到
-
目的
- 提高运算效率
- 保证数据的安全性
-
步骤
- 1、设置目录
sc.setCheckpointDir("hdfs://dir")
- 2、把中间结果进行缓存
val rdd = sc.textFile("dir").flatMap(_.split(" ")).map((_, 1)).reduceByKey(_+_) val rdd2 = rdd1.cache()
- 3、进行checkpoint
rdd2.checkpoint
- 4、检查RDD是否被checkpoint
rdd2.isCheckpointed
- 5、获取checkpoint的file目录
rdd2.getCheckpointFile