Общие сведения о потоке управления фабрикой данных
Что такое поток управления
Поток управления — это оркестрация действий в конвейере, которая включает связывание действий в последовательности, ветвление, определение параметров на уровне конвейера и передачу аргументов во время вызова конвейера по запросу или из триггера.
Поток управления может также включать контейнеры циклов, которые могут передавать сведения для каждой итерации контейнера цикла.
Если в качестве действия потока управления используется цикл For Each, то с помощью этого подхода Фабрика данных Azure может запускать несколько действий параллельно. Это позволяет создавать комплексную и итеративную логику обработки в конвейерах, созданных с помощью Фабрики данных Azure, которая поддерживает создание разнообразных шаблонов интеграции данных, таких как создание современного хранилища данных.
Некоторые распространенные действия потока управления описываются в следующих разделах.
Цепочки действий
В Фабрике данных Azure можно связывать действия в последовательности (цепочки) в конвейере. С помощью свойства dependsOn в определении действия можно связать его с вышестоящим действием.
Ветвления
С помощью Фабрики данных Azure можно выполнять ветвление действий в конвейере. Примером ветвления является действие The If-condition, похожее на оператор if в языках программирования. Ветвление определяет набор действий, выполняемых, если условие принимает значение true. Если значение равно false, то выполняется альтернативный набор действий.
Параметры
Вы можете определять параметры на уровне конвейера и передавать аргументы при вызове конвейера по запросу или из триггера. Затем действия потребляют аргументы, хранящиеся в параметре, по мере их передачи в конвейер.
Передача пользовательского состояния:
В Фабрике данных Azure возможна передача пользовательского состояния. Передача пользовательского состояния предполагает прием выходных данных или состояния одного действия последующим действием в конвейере. Например, в определении JSON действия можно получить доступ к выходным данным предыдущего действия. С помощью передачи пользовательского состояния можно создавать рабочие процессы, в которых значения передаются между действиями.
Контейнеры зацикливания:
Контейнеры циклов в рамках потока управления, например действие ForEach, позволяют реализовать повторение в конвейере. С их помощью можно перебирать коллекцию и выполнять указанные действия с каждым ее элементом. Принцип их работы аналогичен структуре for each в языках программирования. Помимо действия each существует действие Until. По своему назначению оно аналогично циклу do until в программировании. Набор действий (do) выполняется циклически до тех пор, пока не будет выполнено условие (until).
Потоки на основе триггеров:
Конвейеры можно активировать по требованию (на основе событий, например, публикации большого двоичного объекта) или по физическому времени.
Вызов конвейера из другого конвейера
Действие Execute Pipeline в Фабрике данных Azure позволяет конвейеру фабрики данных вызывать другой конвейер.
Разностные потоки:
Вариант использования разностных потоков — разностные загрузки. Разностные загрузки в шаблонах извлечения, преобразования и загрузки предполагают загрузку только тех данных, которые изменились с момента предыдущей итерации конвейера. Такие возможности, как действие поиска и гибкое планирование, помогают выполнять задания разностной загрузки. Действие поиска считывает или ищет значение записи или таблицы в любых внешних источниках. На эти выходные данные можно затем ссылаться в последующих действиях.
Другие потоки управления
Существует множество других действий потока управления. Ниже представлены другие полезные действия.
Веб-действие в потоках управления Фабрики данных Azure может вызывать пользовательскую конечную точку REST из конвейера фабрики данных. В действие можно передавать наборы данных и связанные службы.
Действие получения метаданных извлекает метаданные любых данных в Фабрике данных Azure.