首页 > 解决方案 > 从 Apache Flink 中的 DataStream 类扩展 SingleOutputStreamOperator 背后的想法是什么?

问题描述

我正在浏览 Apache Flink 源代码,发现 SingleOutputStreamOperator 类从 DataStream 类扩展而来。从名称本身看起来像一个运算符,那么为什么不是从 StreamOperator 扩展它从 DataStream 类扩展。这种设计背后的动机是什么?

标签: apache-flink

解决方案


SingleOutputStreamOperator表示DataStream使用一种预定义输出类型应用的用户定义转换。从这个意义上说,它是 的一种特殊化,DataStream因为结果也是一个数据流,但它是转换的结果。

也有两种不同的子类型DataStreamKeyedStream一种表示为其定义了键的流,另一种SplitStream包含多个拆分流,您可以从中进行选择。


推荐阅读