子类型的flink type system-registerType



我在https://ci.apache.org/projects/flink/flink-docs-release-1.13/docs/dev/serialization/types_serialization/#most-频繁问题

上面写着:

注册子类型:如果函数签名仅描述超类型,但它们实际上在执行过程中使用这些超类型的子类型,让Flink意识到这些可能会大大提高性能亚型。为此,请在每个子类型的StreamExecutionEnvironment或ExecutionEnvironment。

是否有测试用例或代码示例来演示此场景的用法?

谢谢。

DataStream<Msg> test = stream.map(x -> (x < 10) ? new Msg1() : new Msg2());

您应该注册以下子类型:

env.registerType(Msg1.class);
env.registerType(Msg2.class);

CCD_ 1用子类的全名,子类标记(如上所述(,或者直接序列化目标类型(无标记(。因此,如果始终使用直接给定类型,并且从不序列化任何子类实例。但是,当它们被序列化时,注册子类会产生比完整子类名称更紧凑(更高效(的标记。

相关内容

  • 没有找到相关文章

最新更新