开发者学堂课程【大数据Spark2020最新课程(知识精讲与实战演练)第二阶段:Checkpoint_使用】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/689/detail/12002
Checkpoint_使用
本节课介绍 Checkpoint 如何使用,使用方式特别简单,但是会有一个小细节,所以本节包括两个内容,一是使用,二是细节。
进入笔记,首先使用 Checkpoint 有两点,如图所示:
第一点设置 Checkpoint 的 dir,设置在 HDFS,如果使用 spark 整合 HDFS,目录可显示 HDFS 目录,接下来使用checkpoint 缓存某一个 RDD,即为使用 checkpoint 的方式。
拷贝代码做一个新的 checkpoint 代码:
重新编写代码,先使用 sc. Setcheckpoint(“checkpoint”),保存在工程下,在工程根目录下创建一个 checkpoint 的 dir 文件,修改代码。
接下来设置保存 checkpoint 的目录,也可以设置为 HDFS 上的目录。使用 aggRDD. Checkpoint()保存checkpoint,此方法和 catch 有区别,Checkpoint 的返回值是 unit,而 catch 的返回值是 aggRDD=aggRDD cache,计算时要再获取相应的数据来进行。使用 checkpoint 就会直接变成 aggRDD. Checkpoint(),取相应的Checkpoint 计算,相对简单。
细节: 不准确的说,checkpoint 是一个 action 操作,也就是说,如果调用 checkpoint,则会重新计算 RDD,把结果存在 HDFS 或者本地目录中。每次调用 first,代码都会执行一遍。
所以在 checkpoint 之前,代码也会进行,所以在调用 checkpoint 时,进行 action,整个代码会进行三次,而最佳实践在 checkpoint 之前,进行一次 cache。aggRDD=aggRDD cache,此时使用的数据是 cache,不会执行多次。