Spark中cache和persist的區別?
cache
默認是將數據存放到內存中,懶執行
def cache(): this.type = persist()
persist
可以指定持久化的級別。
最常用的是MEMORY_ONLY和MEMORY_AND_DISK。
”_2”表示有副本數。盡量避免使用_2和DISK_ONLY級別
cache和persist的注意點
1.都是懶執行(有的叫延遲執行),需要action觸發執行,最小單位是partition
2.對一個RDD進行cache或者persist之后,下次直接使用這個變量,就是使用持久化的數據
3.如果使用第二種方式,不能緊跟action算子