【Azure Data Platform】ETL工具(14)——ADF控制流简介

本文属于【Azure Data Platform】系列。
接上文:【Azure Data Platform】ETL工具(13)——ADF并行加载多个文件
本文介绍ADF 的控制流

前言

上一文已经引入了“查找(lookup)”这个活动,那么现在应该开始引入其他的一些控制流活动。

Append Variable(追加变量):用于添加一个变量到定义在管道中的现有的数据变量中。"追加变量"活动可用于向数据工厂管道中定义的现有数组变量添加值。
【Azure Data Platform】ETL工具(14)——ADF控制流简介

Set Variable(设置变量): "设置变量"活动可用于设置在数据工厂管道中定义的字符串、Bool 或数组类型的现有变量的值。
【Azure Data Platform】ETL工具(14)——ADF控制流简介

Execute Pipeline(执行管道): 用于在管道中执行另外一个管道。
【Azure Data Platform】ETL工具(14)——ADF控制流简介

Get Metadata(获取元数据): 用于查找ADF中的元数据。
【Azure Data Platform】ETL工具(14)——ADF控制流简介

Filter(筛选): 将筛选器表达式应用于输入数组。
【Azure Data Platform】ETL工具(14)——ADF控制流简介
Wait(等待): 跟很多编程语言的wait,waitfor类似。
【Azure Data Platform】ETL工具(14)——ADF控制流简介

Web: 从管道中调用一个自定义的REST endpoint。
【Azure Data Platform】ETL工具(14)——ADF控制流简介

Azure Function: 在管道中运行Azure 函数。

【Azure Data Platform】ETL工具(14)——ADF控制流简介

从上面可以看到,ADF的控制流主要由活动组成,其活动的种类很多通常集中在【常规】这部分:
【Azure Data Platform】ETL工具(14)——ADF控制流简介
除此之外,还有【迭代和条件】:
【Azure Data Platform】ETL工具(14)——ADF控制流简介

这些活动,用于控制其他活动比如复制数据等的数据流的方向和行为中。比如上文中的ForEach,可以轮询配置表中的数据并读取。

我们现在常用的已经是ADF v2,在V1时,ADF主要集中在对大数据进行分析和操作,而V2, 真正引入了控制流的实现,如parameterization(参数化), conditional execution(按条件执行), loops(循环) 和 if conditions。

下面简要介绍一下它们。

If condition

ADF中的活动大概等于SSIS中的任务。IF 条件在过去多数使用编码实现,在ADF中可以使用下面的活动来完成:
【Azure Data Platform】ETL工具(14)——ADF控制流简介
它是一个布尔值,分为ifTrue和ifFalse两个逻辑,True时执行某个对应的活动,False则执行另外一个:
【Azure Data Platform】ETL工具(14)——ADF控制流简介
官方网站有详细的说明:Azure 数据工厂和 Synapse Analytics 管道中的 If 条件活动

Loops

循环有两类,一类是直到达到某种条件才执行(也称Do-Until,截止),一类是遍历所有条件并判断是否满足(也称ForEach)。它体现在重复操作上面。

【Azure Data Platform】ETL工具(14)——ADF控制流简介
截止类似于编程语言中的While, 而ForEach类似于编程语言中的For。

参数

参数是很常用的功能,用来满足较为复杂的情况和使得管道可以重复使用。使用参数的例子在前面几篇文章已经演示过很多次,这里就不累赘了。

因为前面用到了lookup(查找)这个活动,我打算下一文进行详细一点的介绍。

上一篇:攻防世界guess_num


下一篇:每日总结14