4.checkpoint
checkpoint解释为检查点,RDD的源代码中提到了这个概念,我是比较模糊的,也不想深究这个,暂且理解为将RDD缓存到文件中,这样的话和persist,或者cache的意思差不多,不过checkpoint的作用是用来支持容错,避免血系过长,当血系图过长时,就将RDD缓存,然后清除依赖,具体的网上也有详细介绍
此外,Spark中有个PairRDDFunctions类,该类有针对key-value对类型的RDD的各种方法,如常见的groupByKey,reduceByKey等,这些函数一般都涉及了shuffle操作,要使用这些函数,则RDD的类型必须为键值对,如上述的zip()函数就可以生成键值对,当然其他函数也可生成。。。
至此RDD的部分讲解完毕,RDD有许多有用的API,这也是我认为Spark平台是处理大数据的一个优势之一,如果能够灵活运用RDD的这些方法,相信会达到事半功倍的效果。。。
未完待续。。。