apache-flink - 从 Apache Flink 中的 DataStream 类扩展 SingleOutputStreamOperator 背后的想法是什么?
问题描述
我正在浏览 Apache Flink 源代码,发现 SingleOutputStreamOperator 类从 DataStream 类扩展而来。从名称本身看起来像一个运算符,那么为什么不是从 StreamOperator 扩展它从 DataStream 类扩展。这种设计背后的动机是什么?
解决方案
SingleOutputStreamOperator
表示DataStream
使用一种预定义输出类型应用的用户定义转换。从这个意义上说,它是 的一种特殊化,DataStream
因为结果也是一个数据流,但它是转换的结果。
也有两种不同的子类型DataStream
:KeyedStream
一种表示为其定义了键的流,另一种SplitStream
包含多个拆分流,您可以从中进行选择。
推荐阅读
- reactjs - 使用 API 中的 react-select 填充我的选项数据?
- python - 并行导出快照
- javascript - 在 JavaScript 中更改 Twilio 客户端 CallSid
- python - PyQt5 QScrollArea 不滚动,而是调整项目大小
- random - 在 PyTorch 中理解 ByteTensor 的种子
- c# - 摆脱 Xamarin 的“...您可能需要提供运行时策略”警告
- c# - C# 如何在电子邮件中创建指向 .ICS 文件的超链接
- python - 记录函数时如何引用“True-like”和“False-like”?
- javascript - 按下按钮时改变正方形的颜色
- java - 一个简单程序中的“线程“主”java.lang.Error中的异常”