dataworks中如何实现下游shell节点的赋值节点配置?
赋值节点支持ODPS SQL、SHELL和Python三种赋值语言。您可以结合节点上下文,将赋值节点的最后一条查询结果赋值给节点自带outputs输出作为下游节点的入参进行传递。 outputs参数的取值只取最后一行代码的输出结果:
赋值语言为ODPS SQL的赋值节点中,最后一行SELECT语句的输出。 赋值语言为SHELL的赋值节点中,最后一行ECHO语句的数据。 赋值语言为Python的赋值节点中,最后一行PRINT语句的输出。
Python和SHELL的输出会基于逗号(,)分割为一维数组。 ODPS SQL将输出结果作为一个二维数组传递至下游。——该回答整理自钉群“DataWorks交流群(答疑@机器人)”
在相应的业务流程下,双击打开赋值语言为SHELL的上游节点fuzhi_shell。
单击编辑页面右侧的调度配置。
配置上游节点。
赋值节点使用赋值语言SHELL,赋值打印的结果hello,world给赋值节点自带的输出参数outputs。
双击打开赋值语言为SHELL的下游节点赋值节点取值对比_shell。
单击编辑页面右侧的调度配置,配置下游节点。
下游节点依赖赋值节点fuzhi_shell,引用上游赋值节点fuzhi_shell自带的输出outputs作为下游节点的输入,并命名为shell_inputs。 echo '这是上游shell节点的输出'${shell_inputs}; echo '取上游shell节点输出的第1个数据'${shell_inputs[0]}; echo '取上游shell节点输出的第2个数据'${shell_inputs[1]};
单击工具栏中的运行图标。
在警告对话框中,单击继续运行。
查看结果。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。