为什么要做checkpoint

为什么要做checkpoint?

1.运行出的中间结果往往很重要,所以为了保证数据的安全性,要checkpoint

2.最好把checkpoint到hdfs中,这样便于该集群所有的节点访问到

3.在checkpoint之前最好先cache一下,这样先把数据放到缓存中。便于运行任务的调用,也便于在checkpoint的时候直接从缓存拿到数据

在什么时候做checkpoint?

在发生shuffle之后做checkpoint

checkpoint步骤:

1.建立checkpoint存储目录

       sc.setCheckpointDir("hdfs://Master4:9000/ck0001")

2.rdd1.cache()

3.rdd1.checkpoint()

事例测试:

1、启动spark-shell

/opt/spark/bin/spark-shell

2.设置checkpoint目录

sc.setCheckpointDir("hdfs://Master4:9000/ck0001")

3.读取wc目录下的文件,统计词频

val res=sc.textFile("hdfs://master4:9000/wc/").flatMap(_.split(" ")).map(
(_,1)).reduceByKey(_+_)

4. 设置缓存

 res.cache()                                                              

5. 开始checkpoint,注意开启checkpoint只会创建一个空的文件夹ck0001,但是不会check。

 res.checkpoint()                                                           

6. collect后开始check

res.collect                                                              

猜你喜欢

转载自blog.csdn.net/weixin_40903057/article/details/88423958