问题一:制作 Checkpoint5 时如何知道 02.sst 和 03.sst 已经上传过了?
制作 Checkpoint5 时如何知道 02.sst 和 03.sst 已经上传过了?
参考回答:
制作 Checkpoint5 时,通过 previous-sst-list 来记录上次成功的 Checkpoint 中所有 SST 文件信息,从而知道 02.sst 和 03.sst 已经上传过了。这个列表帮助实现增量 Checkpoint 的制作。
关于本问题的更多回答可点击原文查看:
https://developer.aliyun.com/ask/671943
问题二:为什么新启动作业的 Checkpoint 可能会引用它所 restore 的 Checkpoint 中的文件?
为什么新启动作业的 Checkpoint 可能会引用它所 restore 的 Checkpoint 中的文件?
参考回答:
新启动作业的 Checkpoint 可能会引用它所 restore 的 Checkpoint 中的文件,因为即使作业重启,也会尝试基于之前恢复的 Checkpoint 进行增量制作,如果恢复的是跨作业实例的 Checkpoint,就会导致文件引用跨作业。
关于本问题的更多回答可点击原文查看:
https://developer.aliyun.com/ask/671945
问题三:如何避免新启动作业的 Checkpoint 跨作业文件引用的问题?
如何避免新启动作业的 Checkpoint 跨作业文件引用的问题?
参考回答:
在恢复 previous-sst-list 之前,判断 restore Checkpoint 所属的作业是否是当前作业。如果不是,则不恢复 previous-sst-list,这样作业启动后的第一个 Checkpoint 就会上传所有文件,之后的 Checkpoint 再基于前面的 Checkpoint 进行增量制作,从而避免跨作业文件引用。
关于本问题的更多回答可点击原文查看:
https://developer.aliyun.com/ask/671946
问题四:Checkpoint metadata 中如何获取到作业 ID?
Checkpoint metadata 中如何获取到作业 ID?
参考回答:
Checkpoint metadata 中本身不包含作业 ID,但可以通过修改 IncrementalRemoteKeyedStateHandle 的实现,增加一个 jobID 字段,并在制作 Checkpoint 时将 ID 字段序列化到 meta 文件中。这样在 restore 时就可以通过解析 meta 文件来获取 Checkpoint 所属的作业 ID。
关于本问题的更多回答可点击原文查看:
https://developer.aliyun.com/ask/671947
问题五:Checkpoint metadata 中文件路径的问题是什么?如何解决?
Checkpoint metadata 中文件路径的问题是什么?如何解决?
参考回答:
Checkpoint metadata 中记录的文件路径是绝对路径,当 Checkpoint 被复制到其他目录时,这些引用会失效。解决方法是将绝对路径换成相对路径,根据 Checkpoint 的 exclusive 目录和文件的相对路径计算出文件的具体位置,从而实现 Checkpoint 的 relocatable。
关于本问题的更多回答可点击原文查看: