【Azure Data Platform】ETL工具(18)——ADF 迭代和条件活动(2)

本文属于【Azure Data Platform】系列。
接上文:【Azure Data Platform】ETL工具(17)——ADF 迭代和条件活动(1)
本文接上文,继续简要介绍ADF的迭代和条件活动

If Condition

这次用的不是参数,而是变量,如下图所示,点击空白处然后选择变量,新建一个变量Var,类型为字符串,值为Y。

在这里插入图片描述
创建一个表和存储过程来验证结果:

CREATE TABLE [dbo].[TBL_If_Activity](
[VALUE] VARCHAR(10) NULL
) ON [PRIMARY]
GO

CREATE PROCEDURE [dbo].[sp_insert_if] @VALUE VARCHAR(10)
AS  
INSERT INTO TBL_If_Activity (VALUE)
VALUES (@VALUE)

配置两个存储过程活动,使用上面的存储过程,当If Condition的True活动时,直接传入true值。False活动时,调用存储过程直接传入false值,以便验证。
在这里插入图片描述

在这里插入图片描述
因为变量值是Y, 而If condition的判断也是对Y进行校验,所以运行结果会是true:

在这里插入图片描述
证明它走的确实是True的这个分支,那下面修改一下判断条件让它进行False分支:
在这里插入图片描述
结果是预期的:
在这里插入图片描述

Switch 切换

switch 类似于SQL语言中的case when,这次我们用参数,参数名为color,值为R。

在这里插入图片描述
Switch有两个活动:

  1. 表达式:提供用于判断的表达式。这个表达式是大小写敏感的。
  2. 添加事件:就是case when的对应逻辑。default是默认操作。

在这里插入图片描述
用前面定义的参数color作为表达式的判断:
在这里插入图片描述
添加一个事件:
在这里插入图片描述
同样, 使用存储过程和一个表来记录验证结果:

CREATE TABLE [dbo].[TB_Switch](
[VALUE] [varchar](10) NULL
) ON [PRIMARY]
GO
CREATE PROCEDURE [dbo].[sp_insert_swith] @VALUE VARCHAR(10)
AS  
INSERT INTO TB_Switch (VALUE)
VALUES (@VALUE)

分别为Default和新加的判断R进行存储过程配置,对应的值就是Default和R并传入到存储过程中。
在这里插入图片描述

在这里插入图片描述

调试并查询表中数据可以看到结果是预期的。
在这里插入图片描述
接下来把参数值从R改成A, 因为Switch并没有配置对A的处理,所以它应该会调用default那部分:

在这里插入图片描述
结果正确:

在这里插入图片描述

Switch相对比较简单,我们只需要对各种情况进行分别配置即可。

Until(截止)

Until是迭代和条件活动中最后一个活动。

它有两个设置项,表达式和超时,表达式的值计算必须为真或假。超时在下图已经有解释了。

在这里插入图片描述
沿用上面的Color参数,添加判断:

@equals(pipeline().parameters.Color,‘R’)

对Switch的下一个活动,添加一个存储过程活动,插入的值就是上面的参数 R。

在这里插入图片描述

调试并检查结果:

在这里插入图片描述

下面传入一个使其为False的值,比如A,
在这里插入图片描述
可以看到这个管道一直执行,因为我没有做其它处理,所以它会一直循环,直到“超时”设置,也就是7天之后才会停止。

在这里插入图片描述
表里面也有大量的A值在里面:
在这里插入图片描述
所以对于这类循环类的操作,第一步应该是考虑如何让它“停下来”,最简单的就是设置合理的超时时间。

总结

本篇和上篇文章介绍了ADF 迭代和条件活动,并且做了简要演示。这些活动更多的是对编程语言的图形化、工具化还有一定的处理优化提升。如果有相关编程经验,理解起来应该不会太难。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值