在我们的情况下(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);
}
}