本文主要是介绍Spark Streaming(五)—— Spark Streaming缓存/持久化,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
与RDD类似,DStreams还允许开发人员将流数据保留在内存中。也就是说,在DStream上调用persist() 方法会自动将该DStream的每个RDD保留在内存中。如果DStream中的数据将被多次计算(例如,相同数据上执行多个操作),这个操作就会很有用。
- 对于基于窗口的操作,如reduceByWindow和reduceByKeyAndWindow以及基于状态的操作,如updateStateByKey,数据会默认进行持久化。 因此,基于窗口的操作生成的DStream会自动保存在内存中,而不需要开发人员调用persist()。
- 对于通过网络接收数据(例如Kafka,Flume,sockets等)的输入流,默认持久化级别被设置为将数据复制到两个节点进行容错。
- 与RDD不同,DStreams的默认持久化级别将数据序列化保存在内存中。
这篇关于Spark Streaming(五)—— Spark Streaming缓存/持久化的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!