The SPLITTER operator splits the input bus into two independent data streams, keeping the entire content of the original data bus intact.
For every input record, a copy of the data is generated and delivered in parallel to the two outputs of the operator. This allows the same data to be processed further along different logical paths of the project—independently and in parallel.
Common uses of the SPLITTER operator include:
- carrying out various operations on the same data (for example, saving it to a database and sending it through an API),
- comparing processing results in two different logical variants,
- adding extra conditional logic without modifying the original data stream.
The operator does not modify the structure or content of records—it serves solely as a splitter.
An example of a GRAVITY project using the SPLITTER operator:
When running a process, the GRAVITY system always processes the upper output bus first. Processing of the lower path starts only after the upper one has finished, or when its data is required further in the execution (e.g., by an operator dependent on its result). This allows for intentional design of flows where the execution order is predictable.