Общие сведения
ETL (Extract, Transform, Load) - это процесс загрузки данных, включающий три основных этапа: извлечение (Extract) данных из различных источников, их преобразование (Transform) и загрузку (Load) очищенных данных в целевое хранилище данных.
Функциональность ETL позволяет:
- создать датасет из нескольких источников данных, трансформировать их и загрузить в локальное хранилище данных системы;
- создать датасет из источника данных, данные которого будут трансформироваться и подгружаться в систему в режиме прямого подключения;
- трансформировать данные для создания датасета при помощи визуального инструмента или при помощи SQL-запроса.
Создание ETL-датасета
Интерфейс ETL
ETL-датасеты создаются через специальный интерфейс, для доступа к которому необходимо в окне выбора способа создания датасета нажать на вариант "ETL".
Окно ETL-интерфейса содержит следующие области:
Верхняя панель
Содержит переключатель режимов импорта данных:Локальное подключение
Прямое подключение
Область источников данных
Отображает перечень всех доступных пользователю источников данных.Область таблиц
Отображает список таблиц выбранного источника.Область трансформации
Используется для настройки логики объединения таблиц (визуально или через SQL).Область управления колонками
Отображает перечень всех колонок выбранных таблиц и позволяет управлять ими.Область предпросмотра данных
Предоставляет возможность свернуть/развернуть предпросмотр итогового результата объединения.
- Нижняя панель
Содержит кнопки "Сохранить" и "Отменить". - Кнопка Информация
При нажатии на кнопку в новой вкладке браузера открывается страница с информацией по работе с интерфейсом.
Этап 1. Выбор режима
Переключатель режимов импорта данных в правом верхнем углу позволяет переключаться в режимы:
- Локальное подключение (Import) – загрузка таблиц в локальное хранилище для последующей работы (используется по умолчанию). В режиме локального подключения разрешено добавление таблиц из нескольких источников одновременно в область трансформации.
- Прямое подключение (Direct) – работа с таблицами непосредственно из источника, без предварительной загрузки в хранилище. В режиме прямого подключения разрешено добавление таблиц только из одного источника.
Переключение режимов с локального подключения на прямое разрешено только если в области трансформации присутствуют таблицы только из одного источника, из прямого в локальное - разрешено всегда, вне зависимости от текущего состава таблиц в трансформации. При переключении режима отображается нотификация "Изменен тип подключения. При изменении типа подключения некоторые опции могут быть недоступны". Если датасет был ранее сохранён средствами ETL, смена режима импорта в нем невозможна.
Этап 2. Выбор источника
Источники данных отображаются в области источников данных в левом верхнему углу интерфейса. По умолчанию отображается первым и выбран источник "ХД Polymatica" (локальное хранилище данных). Другие источники данных в списке упорядочены по дате создания.
Обратите внимание
В режиме локального подключения пользователю доступны источники на основе баз данных и на основе файлов, а также ХД Polymatica. Источники на базе API недоступны.
В режиме прямого подключения отображаются только источники на основе баз данных, а также ХД Polymatica.
В области источников данных доступен поиск по наименованию источника по нажатию на иконку лупы в правом верхнем углу области источников.
Для того чтобы выбрать источник данных, нажмите на него в списке. После выбора источника отобразится список имеющихся в источнике таблиц.
Этап 3. Выбор таблиц
Таблицы в списке упорядочиваются по дате создания (сверху новые). В области таблиц данных также доступен поиск по наименованию таблицы по нажатию на иконку лупы в правом верхнем углу области таблиц.
Для выбора таблицы необходимо перетащить ее методом drag-n-drop в область трансформации. При этом таблица автоматически получает алиас (t1, t2 и т.д. соответственно данному формату).
Возможности выноса таблиц зависят от режима подключения:
- В режиме прямого подключения после выноса таблицы источника все остальные источники блокируются. Доступна трансформация только таблиц выбранного источника.
- В режиме локального подключения после выноса таблицы источника можно выбрать другой источник и вынести в область трансформации таблицу из него.
Этап 4. Настройка колонок
Для каждой таблицы, вынесенной в область трансформации, отображается список ее колонок в области колонок. На этом этапе можно управлять колонками для результирующего датасета:
- Изменять порядок добавления колонок в датасет. Для этого надо поменять местами таблицы в области трансформации методом drag-n-drop.
- Исключать колонки из результирующего датасета. Рядом с каждой колонкой отображается чек-бокс - для исключения колонки из датасета его надо снять. Для удобства поиска колонок доступен поиск по наименованию таблицы по нажатию на иконку лупы в правом верхнем углу области колонок.
- Переименовывать колонки. Двойное нажатие на название колонки позволяет переименовать ее. Для сохранения нового названия необходимо нажать , для возврата предыдущего - .
Этап 5. Настройка объединения
Когда в область трансформации вынесено минимум две таблицы, становится доступным объединение таблиц двумя способами:
- При помощи визуального инструмента (No-code) - по умолчанию;
- При помощи SQL-запроса.
No-code
Для объединения таблиц средствами No-code на вкладке "Настройка" заполните следующие обязательные поля:
- Таблица 1/Таблица 2 - выберите в раскрывающемся списке таблицы, объединяемые между собой;
Тип объединения - LEFT JOIN (по умолчанию, предзаполнен), RIGHT JOIN, INNER JOIN, FULL JOIN.
- Колонка - Таблица 1/Колонка - Таблица 2 - колонка объединения, присутствующая в обеих таблицах и содержащая одинаковые данные. Колонка может быть исключена из таблицы путем снятия чек-бокса, но она все равно будет доступна в поле для объединения (см. пример на рисунке с колонкой "Магазин").
Кнопка позволяет добавить новое условие объединения по еще одной колонке. Условия объединения между собой объединяются логическим оператором AND (поддержка других операторов отсутствует). Удалить условие можно кнопкой . Самое первое условие не может быть удалено.
Если в область трансформации вынесено более 2 таблиц, система создает несколько блоков объединения подряд. Каждый блок связан с двумя таблицами.
Возможно многократное использование одной и той же таблицы в разных блоках - в качестве Таблицы 1 или Таблицы 2.
Кнопка "Очистить" позволяет сбросить все настройки объединения.
SQL
Для объединения таблиц средствами SQL перейдите на вкладку "SQL". При переключении режима подтвердите сброс настроек:
В поле "SQL-запрос" введите запрос за данными источника/источников.
- В режиме локального подключения используется синтаксис PostgreSQL или ClickHouse.
- В режиме прямого подключения используется синтаксис соответствующего источника данных.
В SQL-запросе разрешается использовать только те таблицы, которые были добавлены в область трансформации. Поддерживаются SQL-конструкции: JOIN, WHERE, GROUP BY, HAVING, CASE, ORDER BY и др. При создании SQL-запроса можно использовать автоматически присвоенные таблицам алиасы (t1, t2, t3 и т. д.)
Этап 6. Создание расчетных колонок (опционально)
Создание расчётной колонки для ETL-датасета:
- недоступно, если не заполнено объединение (не выбраны ключевые колонки);
- в режиме локального подключения можно создать как записанные, так и незаписанные расчётные колонки;
- в режиме прямого подключения доступно создание только незаписанных расчётных колонок.
Для добавления расчетной колонки необходимо нажать на кнопку над списком колонок таблиц. Создание расчетной колонки в ETL-датасете аналогично ее созданию в любом датасете, как описано в разделе Добавление расчетной колонки, за исключением некоторых отличий в окне создания:
В верхней части списка колонок отображается отдельная группа «Расчетные», в которую вынесены:
- все расчетные колонки выбранных пользователем таблиц;
- расчетные колонки, созданные в рамках текущего ETL-интерфейса.
В данную группу будет добавлена новая колонка.
Расчетные колонки из датасетов:
- нельзя редактировать;
нельзя удалить;
могут быть использованы в расчетах, в SQL;
могут быть включены в результирующий датасет через чекбокс.
Расчетные колонки, созданные в ETL-интерфейсе:
- могут быть отредактированы (имя, формула, тип);
могут быть удалены пользователем;
доступны для повторного использования в других расчетах;
- могут быть использованы в SQL-запросах.
Незаписанные расчётные колонки, созданные в рамках исходных датасетов:
отображаются как неактивные (снятый чекбокс, визуально затемнены);
не могут быть использованы для объединения (в блоках Join);
неактивны для добавления в выражения расчётных колонок ETL-датасета (не перетаскиваются в область переменных).
Этап 7. Предпросмотр данных
Для предпросмотра ETL-датасета необходимо нажать на кнопку "Выполнить запрос".
Если настройки объединения корректны, произойдет слияние датасетов, и в области предпросмотра отобразятся первые 15 строк готового датасета с учетом настроек колонок (загружены при этом будут все).
Чтобы просмотреть результирующие данные, необходимо развернуть панель "Предпросмотр данных".
При необходимости выполнение запроса можно принудительно прервать кнопкой "Остановить".
Этап 8. Сохранение датасета
Для сохранения датасета необходимо, чтобы запрос за данными был успешно выполнен. После этого можно нажать на кнопку "Сохранить". Отобразится окно сохранения датасета:
В окне необходимо заполнить и настроить следующее:
- Название - имя нового датасета (обязательно);
- Описание - произвольное описание датасета для других пользователей (не обязательно);
- Права доступа - для настройки см. Права доступа к сущности системы (не обязательно).
Для сохранения датасета необходимо нажать на кнопку "Создать". Для возврата к настройкам датасета необходимо нажать "Назад". Для отмены создания датасета нажмите на кнопку или нажмите в любом месте вне области окна.
В текущей версии программы имеют место следующие ограничения:
- При изменении структуры ETL-датасета на основе двух и более таблиц нельзя перейти к созданию расчетной колонки. Чтобы создать расчетную колонку, рекомендуется сменить выбранную колонку объединения на другую, а затем снова сменить ее на колонку, выбранную изначально.
- В окне изменения структуры ETL-датасета отображаются незаписанные расчетные колонки из исходных таблиц, при этом они работают некорректно. Не рекомендуется добавлять их в датасет.
- Возникает ошибка при смене типа колонки во время редактирования ETL-датасета. Рекомендуется менять тип колонки через изменение структуры датасета.
- Невозможно создать записанную расчетную колонку в ETL-датасете через редактирование датасета. Рекомендуется выполнять это через изменение структуры датасета.
- Возникают ошибки при выполнении SQL-запроса при создании расчетной колонки во время редактирования ETL-датасета через изменение его структуры.












