StreamingContext中有个checkpoint方法,用来恢复state。
先说明下:
从数据角度讲下,Checkpoint是对于状态(state)操作生效。
首先,一般情况下在接收数据并保存时并不放在checkpoint里。
对状态(state)的DStream操作(updateStateByKey),操作会跨多个batch duration,后面数据对前面的有依赖,随着时间的推移,依赖链条会越来越长,这个时候需要使用checkpoint,把这个长链条持久化,成为短链条。
实现代码:
object PullSuppressClosePrice extends Logging{
//main方法
def main(args: Array[String]): Unit = {
startJob()
}
def startJob(): Unit ={
//获取app.conf配置文件信息
val appConf = ConfigFactory.load("app.conf")
//stream配置信息
val streamConfInfo = appConf.getConfig("streaming")
//