繁体   English   中英

Flink中java.util.map和自定义pojo的序列化

[英]Serialization of java.util.map and custom pojo in Flink

我正在尝试使用一个 pojo,它没有从 kinesis flink 应用程序中的外部库实现可序列化。在 flatMap 函数中使用它时序列化失败。

波乔

public class ExecutionRecord {
    private Map<String, VariableGroup> factMap;
    private List<ModelResult> models;
    private List<RulesetResult> rulesets;
    private Outcome outcome;
    private ExecutionMetadata executionMetadata;
}

TypeInformation.of(ExecutionRecord.class).toString()

PojoType<ExecutionRecord, fields = [executionMetadata: PojoType<ExecutionMetadata, fields = [endTime: String, evaluationType: String, executionHost: String, executionId: String, gmraInstanceIDs: GenericType<java.util.List>, startTime: String]>, factMap: GenericType<java.util.Map>, models: GenericType<java.util.List>, outcome: PojoType<Outcome, fields = [actions: GenericType<java.util.List>, failedActions: GenericType<java.util.List>, outcomeName: String]>, rulesets: GenericType<java.util.List>]>

错误 - java.io.NotSerializableException: ExecutionRecord

堆栈跟踪也没有显示它无法序列化的特定字段。

我应该如何为java.util.listjava.util.map注册序列化程序,它们被识别为泛型类型和其余的自定义 pojo

你可以做这样的事情

public static final TypeInformation<ExecutionRecord> TYPE_INFORMATION_POJO = Types.POJO(ExecutionRecord.class);

or

public static final TypeInformation<ExecutionRecord> TYPE_INFORMATION = TypeInformation.of(BehProdViewFLDTO.class);

并将TYPE_INFORMATION_POJOTYPE_INFORMATION传递给各州或在您可能需要时传递!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM