数据治理中心 DATAARTS STUDIO-获取SQL节点的输出结果值:场景说明
场景说明
使用EL表达式#{Job.getNodeOutput("前一节点名")}获取的前一节点的输出结果时,输出结果为二维数组形式 ,形如[["Dean",...,"08"],...,["Smith",...,"53"]]所示。为获取其中的值,本案例提供了如表1所示的两个常见方法示例。
方法 |
关键配置 |
适用场景要求 |
---|---|---|
通过StringUtil提取输出结果值 |
当SQL节点的输出结果只有一个字段,形如[["11"]]所示时,可以通过StringUtil内嵌对象EL表达式分割二维数组,获取前一节点输出的字段值: #{StringUtil.split(StringUtil.split(StringUtil.split(Job.getNodeOutput("前一节点名"),"]")[0],"[")[0],"\\"")[0]} |
通过StringUtil提取输出结果值配置简单,但对适用场景有如下要求:
|
通过For Each节点提取输出结果值 |
通过For Each节点,循环获取数据集中二维数组的值:
|
通过For Each节点输出结果值适用场景更广泛,但需将作业拆分为主作业和子作业。 |