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")
//初始化SparkContext
val sc = new SparkContext(new Spar

Spark Streaming的checkpoint机制用于状态(state)的恢复。在处理依赖跨多个batch duration的状态操作如updateStateByKey时,checkpoint将长依赖链条持久化以缩短链条。getOrCreate方法用于根据checkpoint信息创建或获取StreamingContext,当发生错误时,可自定义处理方式。
最低0.47元/天 解锁文章
500

被折叠的 条评论
为什么被折叠?



