我正在查看Apache Flink源代码,发现SingleOutputStreamOperator类扩展自DataStream类。 从名称本身看起来像是一个运算符,那么为什么它不是扩展自StreamOperator类而是扩展自DataStream类呢? 这种设计的动机是什么?
我正在查看Apache Flink源代码,发现SingleOutputStreamOperator类扩展自DataStream类。 从名称本身看起来像是一个运算符,那么为什么它不是扩展自StreamOperator类而是扩展自DataStream类呢? 这种设计的动机是什么?
SingleOutputStreamOperator
代表了在DataStream
上应用的用户定义转换,具有一个预定义的输出类型。在这个意义上,它是DataStream
的一种特化,因为结果也是数据流,但它是转换的结果。
DataStream
还有两种不同的子类型:KeyedStream
代表已定义键的流,SplitStream
包含多个分割流,可以从中选择。