Read Query DB V3

Описание ноды

Нода позволяет прочитать в датафрейм произвольный SQL-запрос.

Начиная с релиза 1.10.3 DVT, на замену Read Query from DB V2 сделана третья версия данной ноды. Здесь была улучшена сегментация чтения: ридер из таблиц/запросов может читать данные из СУБД в любом объеме за счет распараллеливания чтения в разрезе сегментов (партиций).

Начиная с релиза 1.15.0 DVT, в данную ноду добавлено контекстное автодополнение SQL, оно учитывает структуру базы и подсказывает таблицы, колонки, ключевые слова и сниппеты с учётом диалекта БД и алиасов в запросе.

Пример использования ноды

ReadQuery

Для использования ноды Read Query from DB необходимо соединить ее с нодой подключения Get Existing DB Connection, а затем настроить ноду Read Query from DB: для этого нажимаем в левом верхнем углу.

В появившемся окне производим настройку. Обратите внимание, что настройка данной ноды происходит в два этапа:

  1. ввод SQL-запроса;

  2. настройка сегментации (она используется для того, чтобы параллельно в несколько потоков, прочитать в датафрейм большой запрос, разбив его на части — «сегменты»).

Ввод SQL-запроса

При успешном подключении к предыдущей ноде, оно автоматически отобразится здесь в поле «Connection string» (1), а в поле ниже необходимо написать текст SQL-запрос (2). Затем нажимаем «Продолжить» (3).

Настройка сегментации

Настройка параметров сегментации здесь такая же, как и в ноде ReadTable from DB: выбираем колонку (в данном случае, «ID товара»), по которой будет произведена сегментация, указываем для нее вариант группировки ((в данном случае мы используем вариант группировки «Range»). Обратите внимание, что поле «Partition column» является обязательным для заполнения, а поле «Partition grouping» — опциональным, если Вы не укажете в нем вариант группировки, то она будет выбрана автоматически. Нажимаем «Сохранить».

Важно!

Поля «npartitions» и «мах_row_per_partition» необходимо оставлять пустыми.

Проверка полученных данных

Теперь проверим какие данные в итоге получились. Для этого включаем «Кэширование» в ноде (кликаем правой кнопкой мыши на ноду и активируем соответствующий переключатель), после чего нажимам «Запустить с этой ноды».

После выполнения сценария по правой кнопке мыши снова заходим в контекстное меню ноды и открываем датафреймы («Показать датафреймы»).

Наша таблица загрузилась.