Вложенные действия в Фабрике данных Azure и Azure Synapse Analytics
Область применения:Фабрика данных Azure Azure Synapse Analytics
Совет
Попробуйте использовать фабрику данных в Microsoft Fabric, решение для аналитики с одним интерфейсом для предприятий. Microsoft Fabric охватывает все, от перемещения данных до обработки и анализа данных в режиме реального времени, бизнес-аналитики и отчетности. Узнайте, как бесплатно запустить новую пробную версию !
В этой статье представлены сведения о вложенных действиях в Фабрике данных Azure и Azure Synapse Analytics, а также об их использовании, ограничениях и лучших методиках применения.
Обзор
Конвейер фабрики данных или рабочей области Synapse может содержать действия потока управления, позволяющие содержать другие действия внутри них. Эти вложенные действия считаются контейнерами, содержащими одно или несколько других действий, которые могут выполняться в зависимости от действия потока управления верхнего уровня.
См. следующий пример с действием "If", содержащим одно действие.
Действия в потоке управления
Следующие действия потока управления поддерживают вложенные действия:
Действие управления | Description |
---|---|
Для каждого | Действие ForEach определяет повторяющийся поток управления в конвейере. Это действие используется для выполнения итерации коллекции и выполняет указанные в цикле действия. Реализация цикла этого действия аналогична структуре цикла Foreach на языках программирования. |
Действие условия If | Это действие можно использовать для создания ветви на основе условия, результатом расчета которого является значение True или False. Действие условия If предоставляет те же функциональные возможности, что и инструкция if в языках программирования. Оно определяет один набор действий, если условие принимает значение true , и другой набор действий, если условие принимает значение false. . |
Действие Until | Реализует цикл Do Until, который аналогичен циклической структуре Do-Until в языках программирования. Оно выполняет набор действий в цикле, пока условие, связанное с действием, не получит значение true. Можно указать значение времени ожидания для действия until. |
Действие Switch | Действие Switch выполняет те же функции, что и инструкция switch в языках программирования. Оно оценивает набор действий, относящихся к варианту, которые соответствуют вычислению условия. |
Навигация по вложенным действиям
Существует два основных способа перехода к действиям, содержащимся во вложенном действии.
Каждое действие потока управления, поддерживающее вложенные действия, имеет вкладку действий. При выборе вкладки действий появится значок карандаша, который можно нажать для детализации на панели внутренних действий.
В действии на холсте конвейера можно выбрать значок карандаша, чтобы перейти далее на панель внутренних действий. Кроме того, для действий ForEach и Until поддерживается двойной щелчок мыши на действии для перехода к внутренней панели действий.
Затем холст конвейера переключится на контекст выбранного контейнера внутреннего действия. В верхней части также будет цепочка навигации, который можно выбрать, чтобы вернуться к родительскому конвейеру.
Ограничения внедрения вложенных действий
Существуют ограничения на действия, поддерживающие вложение (ForEach, Until, Switch и If Condition), для вложения другого вложенного действия. В частности:
- Если и переключатель можно использовать внутри ForEach или До действий.
- Если и переключатель нельзя использовать внутри действий If и Switch.
- ForEach или Until поддерживает только один уровень вложения.
Ознакомьтесь с разделом рекомендаций, приведенным ниже, по использованию других действий конвейера для реализации этого сценария. Кроме того, Действие проверки нельзя поместить внутрь вложенного действия.
Если и переключатель можно использовать внутри ForEach или До действий. ForEach или Until поддерживает только одноуровневую вложенную вложенную функцию If и Switch нельзя использовать внутри действий If и Switch.
Рекомендации для нескольких уровней вложенных действий
Чтобы иметь логику, поддерживающую вложение более одного уровня, можно использовать действие Execute Pipeline внутри вложенного действия для вызова другого конвейера, который затем может иметь другой уровень вложенных действий. Типичным вариантом использования этого шаблона является цикл ForEach, в котором необходимо дополнительно выполнять цикл на основе логики во внутренних действиях.
Примером этого шаблона может служить файловая система, в которой есть список папок, и каждая папка содержит несколько файлов, которые требуется обработать. Как правило, выполнить этот шаблон можно с помощью указанных ниже действий.
- Сначала используйте Действие Get Metadata для получения списка только папок.
- Передайте результат действия Get Metadata в список элементов действия ForEach. Далее каждая итерация представляет собой одну папку для обработки.
- На панели внутренних действий действия ForEach используйте другое действие Get Metadata для получения списка файлов в папке.
- Вызовите действие Execute Pipeline, которое имеет параметр массива, и передайте ему массив этих имен файлов.
- Затем в дочернем конвейере можно использовать другое вложенное действие (например, ForEach) с переданным списком массивов для итерации файлов и выполнения одного или нескольких наборов внутренних действий.
Родительский конвейер будет выглядеть примерно так, как в приведенном ниже примере.
Дочерний конвейер будет выглядеть примерно так, как в приведенном ниже примере.
Связанный контент
Пошаговые инструкции по созданию конвейеров и баз данных приведены в следующих руководствах.