了解数据工厂控制流

已完成

什么是控制流

控制流是管道活动的业务流程,包括将活动按顺序链接起来、设置分支。可以在管道级别定义参数,在按需或者通过触发器调用管道时传递自变量。

控制流还可以包括循环容器,它可以为循环容器的每次迭代传递信息。

如果使用 For Each 循环作为控制流活动,则 Azure 数据工厂可以使用此方法并行启动多个活动。 这允许你在使用 Azure 数据工厂创建的管道中构建复杂和迭代处理逻辑,这支持创建各种数据集成模式,如构建新式数据仓库。

以下各部分介绍了一些常见的控制流活动。

链接活动

在 Azure 数据工厂中,可以在管道中将活动链接在一个序列中。 可以使用活动定义中的 dependsOn 属性将该活动与上游活动链接起来。

分支活动

使用 Azure 数据工厂在管道中对活动进行分支。 分支活动的一个示例是 If 条件活动,它类似于编程语言中提供的 if 语句。 分支活动会计算一组活动,当条件计算结果为 true 时,它会计算一组活动。 如果计算结果为 false,则会计算另一组活动。

参数

可以在管道级别定义参数,在按需或通过触发器调用管道时传递自变量。 然后,在将活动传递给管道时,它们会使用参数中包含的参数。

自定义状态传递

通过 Azure 数据工厂,可实现自定义状态传递。 自定义状态传递是指创建需要由管道中的后续活动使用的输出或活动状态的活动。 例如,在活动的 JSON 定义中,可以访问上一个活动的输出。 使用自定义状态传递,可以生成通过活动传递值的工作流。

循环容器

控制流的循环容器(如 ForEach 活动)定义管道中的重复。 它使你能够循环访问集合,并在定义的循环中运行指定的活动。 它的工作原理类似于编程语言中使用的“for each 循环结构”。 除了 each 活动,还有 Until 活动。 此功能类似于编程中使用的 do-until 循环。 它的作用是循环运行一组活动 (do),直到满足条件为止 (until)。

基于触发器的流

可以按需(基于事件,例如 blob 发布)或根据挂钟时间来触发管道。

从一个管道调用另一个管道

Azure 数据工厂的执行管道活动允许一个数据工厂管道调用另一个管道。

增量流

与使用增量流相关的用例是增量加载。 ETL 模式中的增量加载只会加载自管道的上一次迭代以来发生更改的数据。 查找活动和灵活计划等功能有助于处理增量加载作业。 如果使用 Lookup 活动,它将从任何外部源读取或查找记录或表名称值。 此输出可进一步由后续活动引用。

其他控制流

还有很多控制流活动。 有关其他有用活动,请参阅以下各项:

  • Web 活动:使用控制流的 Azure 数据工厂中的 web 活动,可以从数据工厂管道调用自定义 RESTendpoint。 可以传递以供活动使用的数据集和链接服务。

  • 获取元数据活动:获取元数据活动会检索 Azure 数据工厂中任何数据的元数据。