Press "Enter" to skip to content

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

本文属于【Azure Data Platform】系列。

 

接上文: 【Azure Data Platform】ETL工具(13)——ADF并行加载多个文件

 

本文介绍ADF 的控制流

 

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

 

Append Variable(追加变量):用于添加一个变量到定义在管道中的现有的数据变量中。”追加变量”活动可用于向数据工厂管道中定义的现有数组变量添加值。

 

Set Variable(设置变量): “设置变量”活动可用于设置在数据工厂管道中定义的字符串、Bool 或数组类型的现有变量的值。

 

Execute Pipeline(执行管道): 用于在管道中执行另外一个管道。

 

Get Metadata(获取元数据): 用于查找ADF中的元数据。

 

Filter(筛选): 将筛选器表达式应用于输入数组。

 

Wait(等待): 跟很多编程语言的wait,waitfor类似。

 

Web: 从管道中调用一个自定义的REST endpoint。

 

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

 

 

从上面可以看到,ADF的控制流主要由活动组成,其活动的种类很多通常集中在【常规】这部分:

 

除此之外,还有【迭代和条件】:

 

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

 

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

 

下面简要介绍一下它们。

 

If condition

 

ADF中的活动大概等于SSIS中的任务。IF 条件在过去多数使用编码实现,在ADF中可以使用下面的活动来完成:

 

它是一个布尔值,分为ifTrue和ifFalse两个逻辑,True时执行某个对应的活动,False则执行另外一个:

 

官方网站有详细的说明: Azure 数据工厂和 Synapse Analytics 管道中的 If 条件活动

 

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

 

截止类似于编程语言中的While, 而ForEach类似于编程语言中的For。

 

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

 

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

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注