1.组件介绍
分支组件主要用处根据分支条件判断后续任务执行的路径,满足分支条件,就会执行其后续的任务组件。
1.分支条件是一个返回布尔值的表达式,支持通用表达式,也支持通过宏引用当前任务中定义的参数。在执行任务中,会根据分支条件返回值决定是否执行该分支。
2默认分支代表当没有满足的分支条件时,任务会自动执行默认分支的流程,所以默认分支的分支条件设置是无效的。
3当有多个分支满足条件时源端数据会分别进入满足条件的分支,进行后续任务的执行
2.使用场景
分字组件的使用往往与参数分割不开,因为分支条件的设置大多来源与参数值。下面将通过以下场景来介绍分支组件的具体使用场景。
某物流公司存在物流订单表TRANSPORT_STATUS,其表结构与数据如下所示。
其中ETA 为预期到达时间、ATA为实际到达时间,该公司规定当ATA不为空时,该订单为已完成订单,现在需要在以上表数据的基础上,当该表订单全部为已完成时的,需要添加一个已完成的标识,并输出给下游系统。
为了实现该场景,我们进入数据集成模块,新建交换任务,定义全局参数check_,拖入表输入组件、校验组件、Groovy脚本组件、分支组件、表达式组件、表输出组件。
其中表输入组件选择物流订单表TRANSPORT_STATUS,后接的校验组件设置校验规则为所有数据行满足指定表达式,并设置表达式为ata is not null .该配置主要为了判断表内订单是否全部始完成状态,并且将判断的结果赋值给参数check_.
表输入组件后接Groovy脚本组件,脚本内容为addLog("参数:" + getParamater('<#=check_#>')),该脚本主要作用是在日志中打印出参数值,方便后续任务执行过程中的调试。
然后再接分支组件,分支组件有三个分支,一个默认分支,两个条件分支,分支条件根据参数check_的返回值来判断执行哪个分支。具体配置如下:
当参数check_返回值为true时,代表物流订单表内的所有订单均为已完成状态,执行第二个分支,在源始得物流订单表中添加一个staus 字段并设置值为“已完成”,输出到下游系统中。
当参数check_返回为false,代表物流订单表中存在还未完成的订单,执行第三个分支,即不做任何数据处理,配置完成后,点击执行任务即可。
请先登录