checkpoint中保存了什么内容,理论与实践分析

    xiaoxiao2022-07-12  144

    https://github.com/hehuiyuan/myNote/blob/master/spark/checkpoint-understand.md

    直接看原文吧,不想在写一遍了,主要涉及到图片,上传好麻烦的感觉!这里写个开头介绍,详细的看链接里面内容~!

    针对spark streaming介绍checkpoint保存了什么?

    比如checkpoint会把Checkpoint对象保存到checkpoint-xxxx文件中;

    比如会把rdd中的数据保存到指定的checkpoint目录下的一个8293fb52-d0de-4ba8-b6f1-8ed4a7771e1c这样构成的目录下,然后按照rddid进行下一级别的目录创建,然后rddid下面对应的是按照分区写进去的数据,一个分区对应一个文件;

    比如开启wal会把receiver接受到的数据保存到checkpoint目录下的receivedData中,基于60s一个文件的分割方式写入数据;

    记录receiver block信息的元数据文件 receivedBlockMetadata文件,也是在checkpoint的目录下。

    1: metadata checkpoint: 这个元数据信息主要是用于故障恢复的大概包含一下几类信息 (1)Configuration:应用使用的配置信息; (2)Dstream operations:数据流操作,其实就是我们代码执行逻辑; (3)incomplete batches:任务停止时候可能存在queued情况,那么这些数据是没有被处理的,当程序再次启动时候,是需要重新处理的。

    2:data checkpoint 保存rdd到checkpoint文件,有状态操作往往需要结合多个批次的数据,那么当使用有状态操作时候checkponit是有必要开启的,一个rdd依赖另一个rdd或者多个rdd,一直依赖下去容易造成比较长的依赖链,避免无边界的增加,可以对有状态的操作的rdd的中间结果周期性的checkpointed,去切断这个血缘。

    最新回复(0)