Все ноды/Data/DataFrame Ops
DF: соединение
SQL JOIN двух DataFrame: inner/left/right/outer/cross. Подключите левую таблицу к ``left``, правую — к ``right``.
Тип в графе: df_merge
Exec
Можно включить ветку ошибки (expose_error_output) и обработать сбой отдельным путём.
Порты можно разделить на исполнение и данные (split ports).
Как попробовать
Минимальный рабочий воркфлоу
- Исполнение + данные
Запускается сразу
Как применять
Соединяет две таблицы по общим ключам — SQL JOIN: к строкам заказов подтягиваются данные клиентов, к выгрузке из CRM — цены из прайса. Если таблицы одинаковы по смыслу и их надо просто поставить одну под другую, это df_concat.
Два входа устроены по-разному. «Left» принимает и выполнение, и значение: приход по нему запускает ноду. «Right» — только значение, он ничего не запускает, а лишь читает то, что уже посчитано.
Как это работает
«Тип» задаёт семантику: inner оставляет только строки с парой, left и right сохраняют все
строки соответствующей стороны, outer — все с обеих, cross соединяет каждую строку слева с
каждой справа.
«Ключи объединения» — колонки, которые обязаны совпадать в обеих таблицах и называться одинаково.
У cross ключей нет по определению, поэтому в этом режиме поле скрывается.
Одноимённые неключевые колонки не конфликтуют: к левой добавляется _left, к правой
_right. Суффиксы можно поменять в дополнительных настройках.
Частые ошибки
- Правая ветка не успела посчитаться. Порт «Right» ноду не запускает, поэтому ветка, готовящая правую таблицу, должна отработать раньше по цепочке выполнения. Иначе нода падает, сообщая, что на входе не таблица.
- Ключ называется по-разному.
client_idслева иidсправа не соединятся — переименуйте колонку через df_select перед соединением. - Разные типы ключа. Число слева и текст справа: pandas отказывается соединять такие колонки и роняет ноду.
- Пустые ключи при типе, отличном от
cross. Граф не пройдёт проверку.
Входы
| Порт | Провод | Данные | Примечания |
|---|---|---|---|
Leftleft | Исполнение + данныеexecute_data | dataframe | |
Rightright | Данныеdata | dataframe |
Выходы
| Порт | Провод | Данные | Примечания |
|---|---|---|---|
Successoutput | Исполнение + данныеexecute_data | dataframe | |
Erroron_error | Исполнение + данныеexecute_data | — | показывается, когда expose_error_output = true |
Настройки
| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
Типhow | string | inner | Семантика объединения. ``cross`` соединяет каждую строку слева с каждой строкой справа. Варианты: |
Ключи объединенияon | array<string> | — | Столбцы, которые должны совпадать в обеих таблицах. показывается при how = inner | left | right | outer |
| Дополнительно | |||
Суффикс для коллизий слеваleft_suffix | string | _left | Добавляется к столбцу левой таблицы, имя которого встречается и в правой. |
Суффикс для коллизий справаright_suffix | string | _right | Добавляется к столбцу правой таблицы, имя которого встречается и в левой. |
Общие поля
Эти три поля есть у каждой ноды: платформа добавляет их сама, а не автор ноды.
expose_error_output— Если включено, показывает выход выполнения для подключения нод, которые запускаются при сбое этого шага.split_ports_in— Показывать отдельные порты входа для выполнения и данных вместо одного объединённого.split_ports_out— Показывать отдельные порты выхода для выполнения и данных вместо одного объединённого.