外部数据链接类型SerializerSnapshot

时间:2020-08-13 13:19:09

标签: java apache-flink flink-streaming

在我们的情况下(Flink 1.10),我们想从检查点/保存点还原状态,但是为了还原旧的状态序列化程序,我们需要无法序列化到保存点/检查点的外部数据。 有什么方法可以将一些数据传递给TypeSerializerSnapshot(例如在创建新的TypeSerializer时传递给TypeInformation的ExecutionConfig)?

我发现的唯一东西是环境变量,可以将其传递给任务执行者。但我正在寻找更简单的方法。

谢谢!

public class MyTypeSerializerSnapshot<T> implements TypeSerializerSnapshot<T> {
    private String myCurrentJobCustomData = null;

    /**
     * I would like similar method
     * @param config
     */
    public void init(ExecutionConfig config){
        myCurrentJobCustomData = config.getGlobalJobParameters().toMap().get("some property");
    }

    @Override
    public TypeSerializer<T> restoreSerializer() {
        //do something
        return new MyTypeSerializer(/*some object*/, myCurrentJobCustomData);
    }
}

0 个答案:

没有答案