1. checkpoint 前提条件

    迭代计算,要求保证数据安全
    对速度要求不高(跟cache到内存进行对比)
    将中间结果保存到hdfs

  2. 步骤:

    设置checkpoint目录(分布式文件系统的目录hdfs目录)sc.setCheckpointDir(“hdfs://s201:9000/ck2019”)
    经过复杂进行,得到中间结果
    将中间结果checkpoint到指定的hdfs目录
    后续的计算,就可以使用前面ck的数据了
    spark checkpoint 结果:做checkpoint目录
    spark checkpoint

  3. 注意事项

    动两个任务,一个计算一个保存
    防止中间结果丢失,保证迭代计算,防止从头读
    RDD标记checkpoint 不用记录前面的依赖关系,父RDD,因为已经保证不会丢失
    做了checkpoint就保证了数据的安全性,不会丢失。

  4. 最好持久化内存中防止相同的数据读两次:

    原因:
    因为checkpoint会起两个任务,一个计算结果,一个放到hdfs,如果你没放到
    内存中,就还会去读取,就是重新读,放到内存中不用读了直接放入hdfs就可以。
    以后就把内存中释放,然后以后读hdfs中就可以了 。

相关文章: