Использование шаблонов столбцов в потоках данных сопоставления

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

Совет

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

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

  • Если входящие поля источника изменяются часто, например в случае изменения столбцов в текстовых файлах или базах данных NoSQL. Этот сценарий называется смещением схемы.
  • Если требуется выполнить общую операцию с большой группой столбцов. Например, необходимо привести каждый столбец, имеющий в имени слово Total, к типу Double.

Шаблоны столбцов в производном столбце и статистическом выражении

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

Screenshot shows the plus icon to Add column pattern.

Чтобы ввести условие соответствия, используйте построитель выражений. Создайте логическое выражение, которое сопоставляет столбцы, используя свойства name, type, stream, origin и position. Шаблон будет влиять на любой смещенный или определенный столбец, где условие возвращает значение true.

Screenshot shows the Derived column's settings tab.

Шаблон приведенного выше столбца сопоставляет все столбцы типа Double и создает один производный столбец для каждого соответствия. Если указать $$ в качестве поля "Имя столбца", это имя получат все сопоставленные столбцы. Значение каждого столбца — это существующее значение, округленное до двух десятичных точек.

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

Screenshot shows the Output schema tab.

Иерархическое сопоставление шаблонов

Сопоставления шаблонов можно также создавать внутри сложных иерархических структур. Разверните раздел Each MoviesStruct that matches, чтобы указать все иерархии в потоке данных. Затем можно создавать совпадающие шаблоны для свойств в этой выбранной иерархии.

Screenshot shows hierarchical column pattern.

Преобразование в плоскую структуру

Если данные (такие как массивы, иерархические структуры и карты) имеют сложную структуру, с помощью преобразования "Преобразовать в плоскую структуру" данные в массивах можно денормализовать. Для структур и сопоставлений используйте преобразование "Производный столбец" с шаблонами столбцов для формирования плоской реляционной таблицы на основе иерархий. С помощью шаблонов столбцов, которые выглядят так, как в этом примере, вы можете преобразовать иерархию географических регионов в форму реляционной таблицы:

Screenshot shows the Derived column's flatten structure.

Сопоставление на основе правил в выборе и приемнике

При сопоставлении столбцов в преобразованиях источника и выбора можно добавлять фиксированные сопоставления или сопоставления на основе правил. Используйте для сопоставления атрибуты столбца name, type, stream, origin и position. Фиксированные и основанные на правилах сопоставления можно применять в любом сочетании. По умолчанию все проекции, содержащие больше 50 столбцов, используют сопоставление на основе правил, которое проверяет каждый столбец и выводит введенное имя.

Чтобы добавить сопоставление на основе правил, нажмите кнопку Добавить сопоставление и выберите Сопоставление на основе правил.

Screenshot shows Rule-based mapping selected from Add mapping.

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

Screenshot shows a mapping.

Используйте синтаксис $$, чтобы указать входное имя сопоставленного столбца. Возьмем в качестве примера приведенное выше изображение. Предположим, что пользователь хочет сопоставить все столбцы со строковыми значениями, имена которых содержат меньше шести символов. Входящий столбец с именем test благодаря выражению $$ + '_short' будет переименован в test_short. Если это единственное сопоставление, все столбцы, не отвечающие условию, будут удалены из данных вывода.

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

Сопоставление регулярного выражения

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

Screenshot shows the regex-mapping condition with Hierarchy level and Name matches.

В приведенном выше примере для сопоставления используется шаблон регулярного выражения (r) или любое имя столбца, в котором содержится строчная буква r. Как и в стандартном сопоставлении, в сопоставлении на основе правил все сопоставленные столбцы изменяются в соответствии с условием, заданным справа с помощью синтаксиса $$.

Иерархии на основе правил

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

Screenshot shows a rule-based mapping using for a hierarchy.

В приведенном выше примере сопоставляются все подчиненные столбцы сложного столбца a. a содержит два подчиненных столбца: b и c. Выходная схема будет содержать два столбца b и c, так как условием переименования является $$.

Значения выражений сопоставления шаблонов

  • $$ преобразуется в имя или значение каждого совпадения во время выполнения. Представьте себе $$ как эквивалент this.
  • $0 преобразует имя текущего столбца во время выполнения для скалярных типов. Для иерархических типов $0 представляет текущий путь иерархии сопоставленных столбцов.
  • name представляет имя каждого входящего столбца.
  • type представляет тип данных каждого входящего столбца. Список типов данных в системе типов потоков данных можно найти здесь.
  • stream представляет имя, связанное с каждым отдельным потоком, или преобразование в общем потоке данных.
  • position — порядковый номер столбца в потоке данных.
  • origin — преобразование, где столбец был создан или обновлен в последний раз.