Spark的cache与checkpoint优化

1.SPARK中一些通用的或者重要的RDD最好是做一个cache缓存,缓存到内存或者硬盘中,这样下次用到这个RDD数据的时候就不用从头开始计算了,直接从缓存读取即可!

2由于某种原因也可能我们用cache或者Persist缓存的RDD数据,也可能会出现缓存这些数据的一部分机子突然挂掉等,如果此时还想更保险的保存该RDD的结果,最好就checkpoint一下,将checkpointDir设置为HDFS上的路径即可!注意:设置checkpoint之前最好对该RDD进行cache操作,将其缓存到内存中,要不然,在checkpoint的时候会重新从头计算一边RDD的值!checkpoint的第一步是设置checkpointdir此时就会在对应的文件系统(如:HDFS上)创建对应的目录,然后再进行对应RDD的rdd.checkpoint,此时就会将RDD的这个状态标记为checkpointing,然后当spark程序执行到第一个Action操纵的时候,就首先提交spark应用并计算,然后再单独开启一个job来完成checkpointing状态的RDD的持久化!

你可能感兴趣的:(Spark的cache与checkpoint优化)