Types of operators

In Teracloud® Streams, operators are categorized by their consumption and production of streams. Additionally, operators are classified by their implementation.

Categorization

Operators are categorized into the following types:

Source operators
A source operator creates a stream from an external data source that then can be consumed by downstream operators. Source operators may use optional input ports to control how the operator interfaces with the external data source.
Sink operators
A sink operator writes data from its input ports to external data systems.
Processing operators
A processing operator processes tuples from incoming stream(s) and produces output stream(s) as a result.

Classification

In Teracloud® Streams, operators are classified as primitive operators and composite operators.

Primitive operators
Primitive operators are the smallest processing unit in an application. They are implemented in a native language such as C++, Java, or Python and may maintain state between tuple processing, perform one or more functions, or interface with external systems and services.
Composite operators

Composite operators are higher-level processing units that are implemented by combining primitive and other composite operators. They are useful for building larger processing flows from simpler operators and encapsulating common flow patterns.

A main composite operator is a composite operator that encapsulates the entire data flow graph (meaning it has no input or output streams). Each main composite operator represents a stream application.

Both primitive and composite operators can be parameterized to make them reusable in multiple stream applications.