Caching and fault tolerance with Spark Streaming