Azure Data PlatformETL工具(14)——ADF控制流简介
Posted 發糞塗牆
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Azure Data PlatformETL工具(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 条件活动
Loops
循环有两类,一类是直到达到某种条件才执行(也称Do-Until,截止),一类是遍历所有条件并判断是否满足(也称ForEach)。它体现在重复操作上面。
截止类似于编程语言中的While, 而ForEach类似于编程语言中的For。
参数
参数是很常用的功能,用来满足较为复杂的情况和使得管道可以重复使用。使用参数的例子在前面几篇文章已经演示过很多次,这里就不累赘了。
因为前面用到了lookup(查找)这个活动,我打算下一文进行详细一点的介绍。
以上是关于Azure Data PlatformETL工具(14)——ADF控制流简介的主要内容,如果未能解决你的问题,请参考以下文章
Azure Data PlatformETL工具(19)——Azure Databricks
Azure Data PlatformETL工具(20)——创建Azure Databricks
Azure Data PlatformETL工具(20)——创建Azure Databricks
Azure Data PlatformETL工具——重新认识Azure Data Factory