Persistence
Note that each time we call a new action, the entire RDD must be computed “from scratch.” To avoid this inefficiency, users can persist intermediate results:
RDD.persist() - to persist in number of different places
cache() is the same as calling persist() with the default storage level.call rdd.persist even before action is called.
unperist() -> will remove persistent stored data.