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


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

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

Совет

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

Потоки данных для сопоставления в процессах Фабрики данных Azure и Azure Synapse Analytics поддерживают использование параметров. Определите параметры в определении потока данных и используйте их во всех выражениях. Значения параметров задаются вызывающим конвейером с помощью действия Execute Data Flow. Задавать значения в выражениях действий потока данных можно тремя способами:

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

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

Создание параметров в потоке данных сопоставления

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

Снимок экрана: создание параметров Поток данных.

Использование параметров в потоке данных для сопоставления

На параметры можно ссылаться в любом выражении потока данных. Параметры начинаются с символа $ и являются неизменяемыми. Вы найдете список доступных параметров внутри построителя выражений на вкладке "Параметры ".

Снимок экрана с изображением доступных параметров на вкладке

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

Снимок экрана с изображением параметров на вкладке

Использование параметризованных связанных служб в потоке данных сопоставления

Параметризованные связанные службы можно использовать в потоке данных сопоставления (для набора данных или встроенных типов источников).

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

Снимок экрана: использование параметров связанной службы в потоке данных.

Для типа источника набора данных параметры связанной службы предоставляются непосредственно в конфигурации набора данных.

Назначение значений параметрам из конвейера

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

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

Снимок экрана с изображением вкладки

Параметры выражения конвейера

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

Снимок экрана с изображением панели построителя выражений

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

Выражения и строковые литералы

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

Снимок экрана с изображением панели параметров потока данных с выражением, выбранным для параметра.

Если параметр потока данных stringParam ссылается на параметр конвейера со значением upper(column1).

  • Если выбрано выражение, $stringParam оценивает значение столбца 1, написанное в прописными буквами.
  • Если выражение не проверяется (поведение по умолчанию), $stringParam оценивается как 'upper(column1)'

Передача меток времени

В языке выражений конвейера системные переменные, такие как pipeline().TriggerTime, и функции, например utcNow(), возвращают метки времени в виде строк в формате "yyyy-MM-dd'T'HH:mm:ss.SSSSSSZ". Чтобы преобразовать их в параметры потока данных типа метки времени, используйте интерполяцию строк для включения нужной метки времени в функцию toTimestamp(). Например, чтобы преобразовать время срабатывания конвейера в параметр потока данных, можно использовать toTimestamp(left('@{pipeline().TriggerTime}', 23), 'yyyy-MM-dd\'T\'HH:mm:ss.SSS').

На снимке экрана показана вкладка

Примечание.

Потоки данных могут поддерживать только до 3 миллисекунд. Функция left() используется для усечения дополнительных цифр.

Пример параметра конвейера

Предположим, что у вас есть целочисленный параметр intParam, ссылающийся на параметр конвейера типа string: @pipeline.parameters.pipelineParam.

На снимке экрана показана вкладка

@pipeline.parameters.pipelineParam присваивается значение abs(1) во время выполнения.

На снимке экрана показана вкладка

При указании ссылки на $intParam в выражении, например в производном столбце, оценка значения abs(1) возвратит 1.

На снимке экрана показано значение столбцов.

Параметры выражения потока данных

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

Примечание.

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

Передача имени столбца в качестве параметра

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

Допустим, если требуется сопоставить строковый столбец на основе параметра columnName, можно добавить преобразование "производный столбец", равное toString(byName($columnName)).

Передача имени столбца в качестве параметра

Примечание.

В выражениях потока данных интерполяция строк (подстановка переменных внутри строки) не поддерживается. Вместо этого сцепить выражение со строковыми значениями. Например: 'string part 1' + $variable + 'string part 2'