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

ПРИМЕНИМО К: Фабрика данных Azure Azure Synapse Analytics

Совет

Data Factory в Microsoft Fabric — это следующее поколение Фабрика данных Azure с более простой архитектурой, встроенным ИИ и новыми функциями. Если вы не знакомы с интеграцией данных, начните с Fabric Data Factory. Существующие рабочие нагрузки ADF могут обновляться до Fabric для доступа к новым возможностям в области обработки и анализа данных, аналитики в режиме реального времени и отчетов.

Потоки данных доступны как в конвейерах Фабрика данных Azure, так и в Azure Synapse Analytics конвейерах. Эта статья относится к сопоставлению потоков данных. Если вы не знакомы с преобразованиями, ознакомьтесь с вводной статьей "Преобразование данных с помощью сопоставления потоков данных".

Совет

Эквивалентное преобразование (настраиваемый столбец) в Dataflow 2-го поколения см. в руководстве по потоку данных 2-го поколения для сопоставления пользователей потока данных.

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

Создание и обновление столбцов

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

Параметры производного столбца

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

Выбор нового производного столбца

Шаблоны столбцов

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

Шаблоны столбцов

Построение схем с использованием построителя выражений

При использовании построителя выражений c потоком данных для сопоставления вы можете создавать и изменять производные столбцы в разделе Производные столбцы, а также управлять ими. Перечисляются все столбцы, созданные или измененные при преобразовании. Интерактивно выберите столбец или шаблон, который вы редактировать, выбрав имя столбца. Чтобы добавить другой столбец, нажмите кнопку "Создать" и выберите, нужно ли добавить один столбец или шаблон.

Создание нового столбца

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

Добавить подстолбец

Дополнительные сведения об обработке сложных типов в потоке данных см. в разделе Обработка JSON в потоке данных для сопоставления.

Добавление сложного столбца

Скрипт потока данных

Синтаксис

<incomingStream>
    derive(
           <columnName1> = <expression1>,
           <columnName2> = <expression2>,
           each(
                match(matchExpression),
                <metadataColumn1> = <metadataExpression1>,
                <metadataColumn2> = <metadataExpression2>
               )
          ) ~> <deriveTransformationName>

Пример

Ниже приведен производный столбец с именем CleanData, который принимает входящий поток MoviesYear и создает два производных столбца. Первый производный столбец заменяет столбец Rating значением рейтинга в виде целочисленного типа. Второй производный столбец — это шаблон, который соответствует каждому столбцу, имя которого начинается с "movies". Для каждого соответствующего столбца он создает столбец movie , равный значению сопоставленного столбца, префиксированного с помощью movie_.

В пользовательском интерфейсе это преобразование выглядит следующим образом:

Производный пример

Скрипт потока данных для этого преобразования представлен в следующем фрагменте кода:

MoviesYear derive(
                Rating = toInteger(Rating),
		        each(
                    match(startsWith(name,'movies')),
                    'movie' = 'movie_' + toString($$)
                )
            ) ~> CleanData