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

Область применения:Фабрика данных Azure Azure Synapse Analytics

Совет

Попробуйте использовать фабрику данных в Microsoft Fabric, решение для аналитики с одним интерфейсом для предприятий. Microsoft Fabric охватывает все, от перемещения данных до обработки и анализа данных в режиме реального времени, бизнес-аналитики и отчетности. Узнайте, как бесплатно запустить новую пробную версию !

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

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

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

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

Derived column settings

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

New derived column selection

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

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

Column patterns

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

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

Create new column

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

Add subcolumn

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

Add complex column

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

Синтаксис

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

Пример

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

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

Derive example

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

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