为什么有时候 触发多次action的时候,后边的会比前边的快。
比如 wordcount,第一次 collect的时候 6秒 第二次collect只需要3秒 为什么????
因为,spark在shuffle真正触发的时候,会把shuffle结果缓存到磁盘(/tmp/spark**********/****mgr/********下),下次action的时候,shuffle之前的数据就不需要执行了,就会被skip掉,所以变快了。
那如果,tmp下的缓存数据丢失了呢? spark会报错,但是 他还会帮你执行出结果来,就是重新算一边shuffle之前的过程。