Operator SPLITTER służy do rozdzielenia magistrali wejściowej na dwa niezależne strumienie danych, z zachowaniem pełnej zawartości oryginalnej magistrali.
Dla każdego rekordu wejściowego tworzona jest kopii danych, która trafia równolegle na dwa wyjścia operatora. Pozwala to na prowadzenie dalszego przetwarzania tych samych danych w różnych ścieżkach logicznych projektu – niezależnie i równolegle.
Typowe zastosowania operatora SPLITTER obejmują:
- wykonanie różnych operacji na tych samych danych (np. zapis do bazy i wysyłka przez API),
- porównywanie wyników przetwarzania w dwóch różnych wariantach logicznych,
- wprowadzenie dodatkowej logiki warunkowej bez modyfikowania oryginalnego strumienia danych.
Operator nie modyfikuje struktury ani zawartości rekordów – pełni wyłącznie funkcję rozdzielającą.
Przykład projektu GRAVITY z użyciem operatora SPLITTER.
System GRAVITY podczas wykonywania procesu zawsze w pierwszej kolejności przetwarza magistralę wyjściową górną. Przetwarzanie ścieżki dolnej rozpoczyna się dopiero po zakończeniu przetwarzania górnej, lub w momencie, gdy dane z dolnej ścieżki są wymagane w dalszym toku wykonania (np. przez operator zależny od jej wyniku). Dzięki temu możliwe jest świadome projektowanie przepływów z przewidywalną kolejnością wykonania.