Все ноды/Data/DataFrame Ops

Таблица: соединить

SQL JOIN двух DataFrame: inner/left/right/outer/cross. Подключите левую таблицу к ``left``, правую — к ``right``.

Таблица: соединить▶
СлеваТаблица
СправаОшибка

Тип в графе: df_merge

Exec

Можно включить выход ошибки и обработать сбой отдельным путём.

Порты можно разделить на исполнение и данные (split ports).

Как попробовать

Минимальный рабочий сценарий

Вход
Таблица: соединить▶
Выход▶
  • Исполнение + данные
Нажмите «Скопировать ноды», откройте редактор и нажмите Ctrl+V на холсте.

Запускается сразу

Как применять

Соединяет две таблицы по общим ключам — SQL JOIN: к строкам заказов подтягиваются данные клиентов, к выгрузке из CRM — цены из прайса. Если таблицы одинаковы по смыслу и их надо просто поставить одну под другую, это df_concat.

Два входа устроены по-разному. «Слева» принимает и выполнение, и значение: приход по нему запускает ноду. «Справа» — только значение, он ничего не запускает, а лишь читает то, что уже посчитано.

Как это работает

«Тип» задаёт семантику: inner оставляет только строки с парой, left и right сохраняют все строки соответствующей стороны, outer — все с обеих, cross соединяет каждую строку слева с каждой справа.

«Ключи объединения» — колонки, которые обязаны совпадать в обеих таблицах и называться одинаково. У cross ключей нет по определению, поэтому в этом режиме поле скрывается.

Одноимённые неключевые колонки не конфликтуют: к левой добавляется _left, к правой _right. Суффиксы можно поменять в дополнительных настройках.

Частые ошибки

  • Правая ветка не успела посчитаться. Порт «Справа» ноду не запускает, поэтому ветка, готовящая правую таблицу, должна отработать раньше по цепочке выполнения. Иначе нода падает, сообщая, что на входе не таблица.
  • Ключ называется по-разному. client_id слева и id справа не соединятся — переименуйте колонку через df_select перед соединением.
  • Разные типы ключа. Число слева и текст справа: pandas отказывается соединять такие колонки и роняет ноду.
  • Пустые ключи при типе, отличном от cross. Граф не пройдёт проверку.

Входы

ПортПроводДанныеПримечания
СлеваleftИсполнение + данныеexecute_datadataframe
СправаrightДанныеdatadataframe

Выходы

ПортПроводДанныеПримечания
ТаблицаoutputИсполнение + данныеexecute_datadataframe
Ошибкаon_errorИсполнение + данныеexecute_data—

показывается, когда expose_error_output = true

Настройки

ПолеТипПо умолчаниюОписание
Тип соединенияhowstringinner

Семантика объединения. ``cross`` соединяет каждую строку слева с каждой строкой справа.

Варианты: inner — Только совпавшие строки, left — Все из левой, right — Все из правой, outer — Все строки обеих, cross — Каждая с каждой

Ключи объединенияonarray<string>—

Столбцы, которые должны совпадать в обеих таблицах.

показывается при «Тип соединения» = Только совпавшие строки | Все из левой | Все из правой | Все строки обеих

Дополнительно
Суффикс слеваleft_suffixstring_left

Добавляется к столбцу левой таблицы, имя которого встречается и в правой.

Суффикс справаright_suffixstring_right

Добавляется к столбцу правой таблицы, имя которого встречается и в левой.

Общие поля

Эти три поля есть у каждой ноды: платформа добавляет их сама, а не автор ноды.

  • expose_error_output — Если включено, показывает выход выполнения для подключения нод, которые запускаются при сбое этой ноды.
  • split_ports_in — Показывать отдельные порты входа для выполнения и данных вместо одного объединённого.
  • split_ports_out — Показывать отдельные порты выхода для выполнения и данных вместо одного объединённого.