老师,关于spark checkpoint如何读取的还是有疑问
checkpoint 支持在不同的app中使用吗,比如说我上午提交了一个app,生成了一个checkpoint,然后下午我又写一个app里面也想用到这个checkpoint,spark会自动去读取checkpoint吗?
但是我不理解的是,checkpoint目录下是一个个随机的UUID,spark怎么知道哪个UUID是我这份数据的checkpoint呢?
8
收起
正在回答 回答被采纳积分+1
1回答
徐老师
2022-03-07 14:44:00
不同任务生成的checkpoint不能通用,checkpoint是和某一个具体任务绑定的。
咱们现在讲的是针对离线任务中配置的checkpoint,任务在运行期间会生成checkpoint数据,这个时候任务会在内存里面动态存储他们之间的关系,这个关系没有记录到文件中。针对离线任务而言不需要涉及重启后的数据恢复,所以没有维护这个关系。
Checkpoint真正的意义是深度应用于实时计算中,针对实时计算程序会定时生成checkpoint,这个时候会产生多个目录,如果程序挂掉想要基于checkpoint恢复数据,默认会使用最新生成的那个checkpoint目录(虽然都是UUID目录,但是通过目录内的文件可以获取到checkpoint的时间),这个里面保存的是程序最新的数据,也可以手工指定具体用某一个目录恢复数据。
大数据工程师 2024 版
- 参与学习 1151 人
- 提交作业 5960 份
- 解答问题 1144 个
不用Java初级内容充数!不用与大数据岗位无关内容占课时!我们做的就是“精华版”大数据课程
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星