Шаги и модель Dataflow

Шаги Dataflow это строительные блоки - steps - из которых создается логика любого dataflow.

Шаги dataflow работают с моделью dataflow. Результат работы кажого шага может поменять модель dataflow, добавив или убавив доступный набор данных для работы следующих шагов.

Модель данных можно посмотреть через иконку ‘eye’ в правом верхнем углу любого шага внутри dataflow, в формате JSON. Пример того как выглядит иконка ‘eye’ показан внизу.

Untitled

Step Name & Source Step

Все шаги в dataflow имеют поле Step Name где может быть проставлено произвольное имя шага, в идеале отражающее суть действия которое шаг должен выполнить (к примеру, “Получить данные о клиентах из внешней системы”).

Так же каждый шаг в dataflow, за исключением шагов из группы Input, имеет поле Source Step где должен быть выбран шаг после которого выполняется данный шаг. Это позволяет задавать сложный порядок выполнения шагов и создавать ветвления в процессе отработки dataflow. Шаги в группе Input (кроме Input File) не имеют поля Source Step, и поэтому могут быть использованы в качестве первого шага в dataflow.

Последовательное и Параллельное Исполнение

Некоторые шаги dataflow, например Filter source, позволяют ветвить логику прохождения шагов dataflow, позволяя выполнять те или иные логические ветки в зависимости от критерия сравнения одного из полей модели dataflow с каким-то значением или другими полем. Это аналогично операторам if/else классических языков программирования. Поток исполнения пойдет по первому критерию который был удовлетворен, и дальнейшие критерии проверятся не будут.

Для обработки массивов однородных данных, существуюет параллельная обработка которая запускается шагом Extract collection и собирается обратно через шаг Group by. Каждый из параллельных потоков запущенных Extract collection будет выполнен до конца по его собственной логике, но общий dataflow не будет закончен до того как будут выполнены все потоки созданные Extract collection.

Группы Шагов Dataflow

Все шаги собраны в четыре группы (начиная с версии 0.7.0, до этого было 5 групп):