Поделиться через


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

ОБЛАСТЬ ПРИМЕНЕНИЯ: Фабрика данных Azure Azure Synapse Analytics

Совет

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

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

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

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

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

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

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

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

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

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

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

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

При использовании построителя выражений 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