本文主要是介绍spark从入门到放弃五十三:Spark Streaming(13)缓存于持久化,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
与RDD 类似,spark Streaming 也可以让开发人员手动控制,将数据流中的数据持久化到内存中。对DStream 调用persist ( ) 方法,就可以让spark Streaming 自动将该数据流中的所有产生的RDD 都持久化到内存中。如果要对于一个DStream 多次执行操作,那么对DStream 持久化是非常有用的。因为多次操作,可以共享一份数据。
对于基于窗口的操作,例如reduceBywindow 等以及基于状态的操作,比如updateStateKey ,默认就开启了持久化的机制。即spark streaming 默认就会将上述操作产生的DStream 中的数据,缓存内存中,不需要开发人员手动调用peisist 方法
对于通过网络接收数据的输入流,比如socket ,kafka flume 等持久化 级别是将数据复制一份,已便于容错。相当于是用的类似MEMORY_ONLY_SER_2
与RDD 不同的是,默认的持久化级别,统一都是要序列化的。
欢迎关注,更多惊喜等着你
这篇关于spark从入门到放弃五十三:Spark Streaming(13)缓存于持久化的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!