Invoking operators

Composite operators and stream applications are comprised of operator invocations.

An operator invocation is an instance of an operator that is defined for a specific context.

A basic stream application with three operator invocations can be seen in the figure below:

Figure 1. A basic stream application: a source operator, a process operator, and a sink or output operator

From left to right, the operators are the FileSource operator, the Filter operator, and the FileSink operator.

Each operator invocation is shown as a box. The boxes are aligned in a row and connected by arrows. From left to right, the operator invocations are FileSource_1, Filter_1, and FileSink_1. On either side of each arrow are small boxes, which represent the input ports and output ports of the operator invocation. Input ports are on the left side of the operator. Output ports are on the right side of the operator.

Note: Every stream is defined by exactly one operator invocation, but the stream can be consumed by any number of operator invocations. Often times when a tuple arrives on any of the input ports of an operator invocation, the operator triggers its processing and can produce tuples on its output streams.

FileSource_1 is an instance of the FileSource operator (a source operator that reads data from a file). The invocation of a FileSource operator likely requires a path to the file to read and other configuration to specify how tuples are produced. For example, the operator invocation could be configured to produce a tuple per line, per field, or blob of data.

A Filter operator is a processing operator that passes data from its input to its output when the data satisfies a condition. If the condition is not satisfied, the data is dropped. When the Filter operator is invoked as Filter_1, the condition needs to be specified.

Lastly, the FileSink operator is a sink operator that receives tuples from an input port and writes it to a file. Similar to a FileSource, a path to the file to write needs to be specified when invoked.