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

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

Совет

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

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

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

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

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

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

Screenshot of create Data Flow parameters.

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

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

Screenshot shows the available parameters in the Parameters tab.

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

Screenshot shows the parameters in the Parameters tab with new parameters added.

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

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

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

Screenshot shows the use of linked service parameters in the data flow.

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

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

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

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

Screenshot shows the Parameters tab with Data Flow expression selected for the value of myparam.

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

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

Screenshot shows the expression builder pane.

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

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

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

Screenshot shows the Data flow parameters pane Expression selected for a parameter.

Если параметр потока данных 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').

Screenshot shows the Parameters tab where you can enter a trigger time.

Примечание.

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

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

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

Screenshot shows the Parameters tab with parameters named stringParam and intParam.

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

Screenshot shows the Parameters tab with the value of a b s (1) selected.

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

Screenshot shows the columns value.

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

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

Примечание.

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

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

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

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

Passing in a column name as a parameter

Примечание.

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