数据处理中的复合操作符与流操作
1. 嵌套组合与复合操作符
嵌套组合是将一个流子图定义为复合操作符。与原始操作符不同,复合操作符可以包含内部流图。实际上,任何SPL应用程序都必须有一个顶级复合操作符,它包含整个应用程序的流图,这个特定的复合操作符被称为应用程序的主复合操作符,是应用程序的入口点,且主复合操作符没有输入端口或输出端口。
当定义一个复合操作符时,它暴露的输入端口和输出端口集合会连接到其内部流图中操作符的一些输入和输出端口。复合操作符和原始操作符一样,可以有各种输入和输出端口,并且可以作为源和汇。
以下是不同类型复合操作符的定义和使用示例:
| 类型 | 定义代码 | 使用代码 |
| — | — | — |
| 源 | composite CompOp(output stream<MyType> Out) { graph stream<MyType> Out = MyOp() {} }
| stream<MyType> Res = CompOp() {}
|
| 汇 | composite CompOp(input stream<MyType> In) { graph () as Sink = MyOp(In) {} }
| stream<MyType> Src = ... () as Sink = CompOp(Src) {}
|
| 简单 | composite CompOp(output stream<MyType2