Operators
An operator represents a vertex of a graph. An operator is a reactive component, and reacts only to events from the environment.
The following image is a sample operator along with the input ports and output ports. Each port is associated with port type, and the tool uses color codes to identify compatible port types.
The tool provides certain base operators. You can use these base operators in a graph for productive use cases, or customize and use them to derive other operators (for other use cases).
- Connectors to messaging systems (Kafka, MQTT, NATS, and WAMP)
- Connectors to store and read data (File, HDFS, S3)
- Connectors to databases (SAP HANA, SAP Vora)
- Javascript engine for manipulating arbitrary data
- Process operators to execute any program (stateful and stateless) for manipulating data in the graph.
- Operators for type conversion
- Operators for digital signal processing (beta)
- Operators for machine learning (beta)
- Operators for image processing (beta)
Operators require a certain runtime environment for their execution. For example, if an operator executes some JavaScript code, then the operator requires an environment with a JavaScript engine. The SAP Data Hub Modeler provides certain predefined environments for operators, and these environments are made available to users as a library of Dockerfiles.
When you execute a graph, the tool translates each operator in the graph into processes. It then searches the Dockerfiles for an environment suitable for the operator execution and instantiates a docker image.