Перейти к основному содержимому Перейти к дополнительному содержимому

Добавление потоков преобразования

В задачи преобразования можно включать потоки. Конструктор потоков позволяет создать поток преобразования, используя источники, процессоры и цели для определения сложных или простых преобразований.

Потоки преобразования и процессоры ― это логические представления. Это значит, что в задачах ELT создается только одна таблица для каждой цели и что все процессоры компилируются в один оператор SQL для каждой цели.

Поддерживаемые целевые платформы

Потоки преобразований поддерживаются на следующих платформах.

  • Snowflake

  • Databricks

  • Google BigQuery

  • Azure Synapse Analytics

  • Microsoft Fabric

  • Microsoft SQL Server

  • Amazon Redshift

    Примечание к информацииСледующие функции Amazon Redshift недоступны: создание строк UUID и редактирование расстояния.

Предварительные требования

Прежде чем создавать поток преобразований, необходимо выполнить следующие действия:

  • Заполните задачу хранения подключенными данными, которые требуется использовать в потоке преобразования, или зарегистрируйте существующие данные. Для получения дополнительной информации о подключении и регистрации данных см. разделы Подключение данных и Регистрация данных, которые уже существуют в пределах платформы данных.
  • Подготовьте и запустите задачу хранения или преобразования, используемую в качестве источника в потоке преобразования. Выполнение задачи хранения не является обязательным, но рекомендуется, чтобы обеспечить возможность отображения предварительного просмотра данных на каждом этапе потока.

Создание потока преобразования

Чтобы создать действующий поток преобразования, требуется как минимум один исходный набор данных и одна именованная цель с определенными ключами.

  1. Откройте задачу Преобразование данных в конвейере данных.
  2. В окне Преобразование выберите исходные наборы данных, которые нужно включить в поток преобразования, затем нажмите Добавить поток преобразования.

    Параметр Добавить поток преобразования отображается в окне настройки параметров преобразования.

  3. В поле Имя введите соответствующее имя целевого набора данных.

    Также можно добавить более длинное описание в поле Описание.

  4. В области Материализация выберите, требуется ли материализация преобразованного вывода. Можно выбрать наследование параметра из настроек задачи данных.

    • Значение Вкл будет создавать таблицы и осуществлять связанную обработку ELT.

    • Значение Выкл будет создавать виды, которые выполняют преобразования на ходу.

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

    • Когда параметр Инкрементная загрузка имеет значение Вкл

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

    • Когда параметр Инкрементная загрузка имеет значение Выкл

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

    Примечание к информацииЕсли запрос выбирает все записи, которые должны существовать в цели, установите для параметра Инкрементная загрузка значение «Выкл». Записи, которые не выбраны, будут удалены из цели.
  6. Щелкните Добавить, когда будете готовы к созданию потока преобразования.

    Открывается конструктор потока, цель создается и отображается в потоке в качестве целевого компонента.

    Примечание к информацииНеобходимо в обязательном порядке указать уникальное имя для цели потока. Ели позднее потребуется переименовать цель потока, выберите эту цель и введите новое имя в поле Имя набора данных.
  7. Если для цели не определены ключи, щелкните Изменить рядом с полем Key(s) & nullables (Ключи и поля, допускающие нулевые значения). Откроется окно настройки конфигурации.
    Примечание к информацииКлючи не наследуются из исходных наборов данных и должны быть определены вручную. Поля, допускающие нулевые значения, наследуются из исходных наборов данных, их можно изменять.
  8. В поле Configure keys and nullables (Настроить ключи и поля, допускающие нулевые значения) выберите Ключ в столбце, который требуется определить в качестве первичного ключа, и выберите Nullables (Поля, допускающие нулевое значение) в одном или нескольких столбцах, которые требуется определить как допускающие нулевые значения.
  9. Нажмите кнопку Подтвердить, чтобы сохранить изменения и закрыть окно настройки конфигурации.

Если поток преобразования имеет действительный статус, можно закрыть поток и подготовить данные.

Значения параметров Материализация и Инкрементная загрузка можно изменить позже на экране Параметры цели.

  • Выберите цель и щелкните Изменить рядом с пунктом Параметры в конфигурации цели.

Добавление процессора

В потоки можно добавлять процессоры.

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

  1. В конструкторе потока выберите компонент потока, после которого требуется добавить процессор.
  2. Щелкните Значок «Вертикальное троеточие» в компоненте потока, затем Add processor (Добавить процессор), и выберите нужный процессор для добавления. Также можно перетащить процессор с левой панели на холст.
  3. Примечание к подсказкеМожно отобразить краткое описание процессора, выбрав его на панели Процессоры.
  4. Настройте процессор в соответствии с потребностями и нажмите кнопку Сохранить, чтобы сохранить изменения и обновить предварительный просмотр данных.
    Примечание к информацииМожно предварительно просматривать выборку данных, используя SQL и Предварительный просмотр данных. Для получения дополнительной информации см. раздел Предварительный просмотр данных.

Доступные процессоры

Пример использования: соединение, агрегирование и фильтрация данных в Snowflake

В данном примере использования данные заказчиков в Snowflake необходимо преобразовать с использованием процессоров. Так как информация о заказчиках берется из двух наборов данных, сначала требуется добавить процессор Join (Соединить), чтобы объединить записи. Также требуется использовать процессор Aggregate (Агрегировать), чтобы рассчитать среднюю цену заказов, и процессор Filter (Фильтровать), чтобы выполнить фильтрацию по типу записей заказчиков, которые требуется оставить в результирующих наборах данных.

Поток преобразования с процессорами Join, Aggregate и Filter.

Первый набор данных создан на основе таблицы Snowflake под именем CUSTOMER_ACCOUNT. Ее схема выглядит следующим образом:

Схема таблицы Snowflake об учетных записях заказчиков

Второй набор данных создан на основе таблицы Snowflake под именем CUSTOMER_ORDER. Ее схема выглядит следующим образом:

Схема таблицы Snowflake о заказах заказчиков

  1. Перетащите процессор Join (Соединить) с левой панели Процессоры на холст.
  2. Свяжите второй источник с процессором Join, чтобы объединить информацию из двух наборов данных.
  3. Настройте процессор Join, чтобы соединить два исходных набора данных по ключам идентификаторов заказчиков (CUSTOMER_ID).
  4. Перетащите процессор Aggregate (Агрегировать) и добавьте его после процессора Join.
  5. Настройте процессор Aggregate, чтобы рассчитать среднюю сумму покупки заказчика (ORDER_TOTAL_PRICE) и сохранить ее в новом столбце, который может называться avg_order_price, при этом записи группируются по типу сегмента заказчика (LEFT_CUSTOMER_SEGMENT).
  6. Перетащите процессор Filter (Фильтровать) с левой панели Процессоры на холст.
  7. Настройте процессор Filter для фильтрации по типам заказчиков-компаний (Business (Бизнес)).
  8. Выберите Значок «Вертикальное троеточие» рядом с процессором Filter, чтобы открыть меню, и щелкните Add non-matching target (Добавить несоответствующую цель), чтобы добавить в поток вторую цель.

    Эта цель будет содержать записи, не соответствующие критериям фильтрации ― типы индивидуальных заказчиков (Individual (Физ. лицо).

  9. Введите имя для нового целевого набора данных, например individual_cust.
  10. Проверьте результирующий предварительный просмотр в обеих целях:

    Цель business_cust отображает среднюю цену заказа для типов заказчиков-компаний, в данном случае 157.463687151.

    Вывод, отображающий среднюю цену заказа для типов заказчиков-предприятий.

    Цель individual_cust отображает среднюю цену заказа для типов индивидуальных заказчиков, в данном случае 153.576530612.

    Вывод, отображающий среднюю цену заказа для типов заказчиков ― физических лиц.
  11. Убедитесь, что поток преобразований имеет действительный статус, затем закройте его.
  12. В окне Преобразование щелкните Подготовить, чтобы подготовить данные.

Рекомендации

Когда в потоки добавляются исходные или целевые наборы данных, следует задать ключи и поля, допускающие нулевые значения, на панели конфигурации целевых наборов данных.

Помогла ли вам эта страница?

Если вы обнаружили какую-либо проблему на этой странице и с ее содержанием — будь то опечатка, пропущенный шаг или техническая ошибка, сообщите нам об этом, чтобы мы смогли ее исправить!