SparkStreaming之persist缓存

SparkStreaming之缓存

与RDD的缓存类似,DStream也允许用户将数据持久化到内存中,只需要使用DStream.persist()方法,就会自动将DSstream中的数据缓存在内存中,这对需要多次计算的DStream数据是一个很好的优化,对于window操作「比如reduceByWindow,reduceByKeyAndWindow」和state操作算子如「updateStateByKey」,默认就是将数据进行缓存持久化的。

一、对于window算子会自动将数据持久化在内存中,不需要手动调用

二、persist(StorageLevels.MEMORY_ONLY_SER)

对于那些从网络接收的inputStream,类似于kafka、flume、socket,默认的持久化存储级别是MEMORY_AND_DISK_SER_2 来保证容错

与RDD不同的是

DStream的默认持久化级别都是将数据以序列化的形式缓存在内存中

你可能感兴趣的:(SparkStreaming)