DataWorks本节点输出变量在脚本模式里面要以什么格式填写才能正确输出? ${xx} 这种好像取不到?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在DataWorks中,本节点输出变量的正确引用格式需要根据具体的上下文和使用场景来确定。以下是详细的解答:
在脚本模式中,本节点输出变量通常以 ${参数名}
的格式进行引用。例如:
echo '${outputs}';
这里的 outputs
是上游赋值节点的输出参数名称。
根据赋值节点的语言类型(ODPS SQL、Python、Shell),其输出格式和引用方式有所不同:
echo '取上游SQL节点输出第1行数据' ${outputs[0]};
echo '取上游SQL节点输出第1行第2个字段' ${outputs[0][1]};
注意:ODPS SQL 的输出结果会作为二维数组传递给下游节点,因此需要通过索引 [行][列]
来获取具体数据。
echo '取上游Shell节点输出第1个字段' ${outputs[0]};
echo '取上游Shell节点输出第2个字段' ${outputs[1]};
echo '取上游Python节点输出第1个字段' ${outputs[0]};
echo '取上游Python节点输出第2个字段' ${outputs[1]};
${xx}
格式取不到值如果使用 ${xx}
格式无法正确获取值,可能是以下原因导致的:
参数未正确配置为本节点输入参数
调度配置 > 节点上下文 > 本节点输入参数
。参数名称不匹配
outputs
,则下游节点需引用 ${outputs}
。赋值节点的输出限制
未统一运行业务流程
echo
或 print
语句验证参数是否正确传递。例如:
echo '上游输出参数:' ${outputs};
通过以上步骤和注意事项,您可以正确配置和引用 DataWorks 中的本节点输出变量。如果仍有问题,请检查上下游节点的依赖关系和参数配置是否符合要求。
DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。