Перейти к содержанию

ETL-блоки

Содержание

В этом разделе описаны руководства по созданию и распространению собственных etl-блоков.

  • Разработка etl-блоков


    Руководство по созданию собственных etl-блоков.

    Открыть

  • Доставка и установка блоков


    Как распространять etl-блоки клиентам и устанавливать их в Analytic Workspace

    Открыть

  • Примеры


    Примеры разных etl-блоков вместе с полными исходными кодами.

    Открыть

Интерфейс пользователя

Для добавления блока в модель Analytic Workspace нажмите кнопку "Добавить объект" в верхней панели и затем выберите пункт "ETL-блок".

На экране появится список доступных вам для добавления в модель блоков.

После выбора нужного блока, он добавляется модель. У каждого блока есть два входящих потока информации.

  1. Вложенные в блок объекты. Определяют данные, над которымы блок выполняет свои действия.

    Вкладывание объектов внутрь блока выполняется операцией drag-and-drop.

  2. Параметры блока. Задают правила и параметры обработки данных.

    В меню блока есть пункт "Настроить параметры".

    При выборе этого пункта откроется правая панель с формой настройки блока. Поля на форме настройки блока отрисовываются на основе параметров, указанных в метаданных блока.

Необязательность вложенных объектов и/или параметров блока

Необходимо отметить, что etl-блок может игнорировать как вложенные объекты так и необходимость определения хотя бы одного параметра.

Например, если блок возвращает данные с внешнего web-сервиса, то вложенные в блок объекты не имеют смысла с точки зрения обработки данных. Все данные будут получены "извне" Analytic Workspace.

Также, если внешний web-сервис не требует авторизации и имеет постоянный адрес, то для блока можно не указывать ни одного параметра. Все необходимые параметры (например, URL к сервису) могут быть указаны константами внутри кода блока.

Обработка данных в блоке

При работе блока происходят две операции по обработке данных.

  1. Получение схемы данных. Схема данных определяет какие поля появятся в модели после того, как блок выполнит обработку данных.

    Пример

    При выполнении SQL операции блока в модели должны появиться те столбцы, которые указаны в SQL выражении. Для того чтобы узнать какие это будут столбцы, блок выполняет SQL выражение на минимальном объеме входящих данных.

    В изображениях выше, независимо от того, какую структуру имеет вложенная в блок таблица transactions, после работы блока вместо столбцов этой таблицы в модели появятся два поля: customer_id и sum_price.

    Процедура получения данных блока крайне важна. Приведем аналогию с таблицами из источников данных. При добавлении в модель таблицы из БД в источник происходит запрос на получение списка столбцов и типов этой таблицы. Так и etl-блок должен уметь явно сообщать модели, какие столбцы появятся после его добавления.

  2. Построение данных. Здесь происходят основные операции по трансформации данных вложенных в блок объектов.

Встроенные в AW блоки

В Analytic Workspace есть ряд встроенных etl-блоков, которые предустанавливаются вместе с системой.

Название блока Идентификатор Описание
SQL блок aw_sql_block Выполнение произвольного SQL-выражения над любой частью модели
JSON блок aw_json_field Преобразование JSON-значения из вложенного объекта в новые столбцы или строки модели
Вычисляемые поля aw_calc_fields Добавление вычисляемых полей к любой части модели
Временна́я серия aw_time_series Добавление столбеца с некоторыми периодическими временны́ми значениями
Разворот иерархии parent-child aw_expand_parent_child Преобразование таблицы с parent-child иерархией в таблицу, где уровни иерархии вынесены (развернуты) в отдельные столбцы
Функция aw_function Добавление произвольного поведения при обработке данных модели
Декоратор aw_decorator Произвольное преобразование схемы и процедуры получения данных в любой части модели
Классификация/регрессия с ML-моделью aw_mlflow_predict Предсказание (классификация, регрессия) для вложенной в блок таблицы на основе ML-модели
ML-модель в ручном режиме aw_mlflow_model Предсказание (классификация, регрессия) для вложенной в блок таблицы на основе ML-модели
Прогнозирование временно́го ряда aw_ml_auto_forecast Прогнозирование временного ряда на основе автоматически обучаемой статистической модели

С документацией к каждому встроенному блоку можно ознакомиться, перейдя по ссылке "Подробнее о блоке" на форме настройки блока.