什么时候手动指定persist

1. 我们发现计算步骤特别耗时,就在之前进行persist

2. 如果我们的计算链条特别长,就在之前进行persist

3. 在checkpoint之前,必须进行persist

checkpoint是属于transform操作,也就是说,在最后的action被触发后,计算完成,框架发现在中间有一个checkpoint的操作,于是会从开头到checkpoint的点再重新计算一次,这个比较耗时,所以我们需要在checkpoint之前进行一个persist操作

4. shuffle之后,进行persist,因为shuffle有网络传输,如果坏了,再传网络,比较费时

5. 在shuffle之前,系统框架默认会进行persist,把数据持久化到本地磁盘上

 

cache是persist的一种特殊情况,是把数据只持久化到内存,cache的存储级别是MEMORY_ONLY,persist根据指定的storageLevel,可以存在磁盘和内存中。他们都是transformation

posted on 2016-07-11 00:18  杰克再造  阅读(235)  评论(0编辑  收藏  举报

导航