DataWorks功能实践速览 04 — 参数透传

本文涉及的产品
大数据开发治理平台DataWorks,Serverless资源组抵扣包300CU*H
简介: DataWorks功能实践系列,帮助您解析业务实现过程中的痛点,提高业务功能使用效率!

1.png

往期回顾:


通过往期的介绍,您已经了解到在DataWorks上进行任务运行的最关键的几个知识点,接下来为您逐步介绍如何通过DataWorks的任务节点实现最常见的数据开发场景。本期为您介绍如何在DataWorks上实现参数透传,即把上游任务的参数透传到下游任务。


功能推荐:赋值节点与参数节点

在阿里云DataWorks中,一个数据开发任务最终是拆解为多个节点任务,并通过设置节点间上下游关系最终形成一个完整的数据开发业务流程,如下图所示。

2.png

以上为一个简单的示例,在实际应用时,我们通常会碰到这样的情况,拆解出来的上游节点任务会生成一些参数,或上游节点的运行结果,需要在下游节点任务中应用到,这就需要数据开发任务能够实现参数/节点运行结果在各个节点间的透传,根据不同的透传需求,DataWorks提供了两种特殊节点可以实现:赋值节点参数节点


Part1:赋值节点 - 实现任务结果透传

当您需要将上游节点任务的结果提供给下游节点使用时,您可使用赋值节点,实现任务结果在节点间传递。赋值节点支持ODPS SQL、SHELL和Python三种赋值语言,且根据赋值规则,自动为您添加赋值参数(outputs参数),便于其他节点引用。

使用赋值节点进行透传参数时,需关注以下三个要点。


1.1赋值节点与上下游节点间的依赖关系

3.png

如上图所示,使用赋值节点透传参数时:

  • 赋值节点(fuzhi_python、fuzhi_sql、fuzhi_shell)需作为引用赋值节点参数节点(down_compare)的上游节点,下游节点需要与赋值节点设置直接依赖关系(赋值节点为下游节点的一层父节点)
  • 赋值节点作为上游与其它节点配合使用时,请务必先提交赋值节点,以便下游节点在配置时可以解析出参数。


1.2赋值节点与下游节点的上下文参数透传关系

如下图所示,通过赋值节点与引用节点的调度配置中的上下文参数配置,形成参数透传引用关系:

4.png

  • 赋值节点(fuzhi_python、fuzhi_sql、fuzhi_shell)需将待赋值给下游的参数添加为节点上下文中的本节点输出参数
  • 下游引用赋值参数的节点需将待引用的赋值参数添加为节点上下文中的本节点输入参数

说明:

  • 赋值节点参数传递只支持传递给一层子节点,不支持跨节点传递


1.3赋值语言与赋值结果

引用赋值节点结果时,赋值节点的参数输出格式与下游节点引用参数方式有关系,不同语言的赋值参数(outputs参数)赋值说明如下。


赋值语言

outputs参数取值

outputs参数格式

outputs参数大小限制

ODPS SQL

最后一行SELECT语句的输出作为赋值参数,添加为赋值节点的本节点输出参数,供其他节点引用。

将输出结果作为一个二维数组传递至下游。

传递值最大为2 MB。如果赋值语句的输出结果超过该限制,赋值节点会运行失败。

SHELL

最后一行ECHO语句的数据,添加为赋值节点的本节点输出参数,供其他节点引用。

将输出结果基于逗号(,)分割为一维数组。

Python

最后一行PRINT语句的输出,添加为赋值节点的本节点输出参数,供其他节点引用。

将输出结果基于逗号(,)分割为一维数组。


更多赋值节点的介绍可进入帮助中心查看文档配置赋值节点


Part2:参数节点 - 实现参数透传

参数节点是一种特殊的虚拟节点,用于管理业务流程中的参数和实现参数在任务节点中传递,支持常量参数、变量参数和透传上游节点的参数,需要引用参数的节点直接依赖参数节点即可。

参数节点本质上是一种虚拟节点,不会运行数据计算任务产生数据,主要用于跨节点传参、参数管理的场景。


2.1跨节点传参

当数据开发的业务流程中,某个下游节点的任务需要获取多个、多级上游节点的输出参数时,您可以使用参数节点,将下游节点需要获取的所有参数统一添加至参数节点中,后续下游节点可直接挂在参数节点之下,即可获取到所有所需参数。

5.png

以上图为例,sql_7节点需要获取sql_1、sql_3、sql_4节点的输出参数,此时您可以新增一个参数节点,作为sql_1、sql_3、sql_4的下游节点,并将所有sql_7所需参数添加至参数节点中,将sql_7的挂在此参数节点下游,则sql_7可直接通过参数节点获取到所有所需参数。


2.2参数管理

当数据开发的业务流程中,下游节点的任务需要使用某些常量参数、变量参数时,您可以使用参数节点,将下游节点需要使用的参数均添加至参数节点中,需使用参数的下游节点直接挂在参数节点之下,即可获取使用所需参数,便于整个业务流程中对所有使用的参数进行统一管理。

6.png

以上图为例,sql_3、sql_4、sql_5、sql_7节点均需使用参数,此时您可以新增一个参数节点,将各个下游节点使用的参数都添加至参数节点中,将需要使用参数的节点挂在此参数节点下游。

更多参数节点的介绍可进入帮助中心查看文档创建参数节点


Part3:赋值节点与参数节点的对比


对比项

赋值节点

参数节点

透传场景

节点运行结果透传

节点参数透传

透传限制

仅能透传至一层子节点,不支持跨节点透传

跨节点透传

节点属性

一种任务节点,节点中运行赋值任务,支持ODPS SQL、SHELL和Python三种赋值语言

本质上是一种虚拟节点,不会运行任务产生数据




相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
一站式大数据开发治理平台DataWorks初级课程
DataWorks 从 2009 年开始,十ー年里一直支持阿里巴巴集团内部数据中台的建设,2019 年双 11 稳定支撑每日千万级的任务调度。每天阿里巴巴内部有数万名数据和算法工程师正在使用DataWorks,承了阿里巴巴 99%的据业务构建。本课程主要介绍了阿里巴巴大数据技术发展历程与 DataWorks 几大模块的基本能力。 课程目标  通过讲师的详细讲解与实际演示,学员可以一边学习一边进行实际操作,可以深入了解DataWorks各大模块的使用方式和具体功能,让学员对DataWorks数据集成、开发、分析、运维、安全、治理等方面有深刻的了解,加深对阿里云大数据产品体系的理解与认识。 适合人群  企业数据仓库开发人员  大数据平台开发人员  数据分析师  大数据运维人员  对于大数据平台、数据中台产品感兴趣的开发者
相关文章
|
22天前
|
数据采集 DataWorks 监控
‌DataWorks的主要功能‌
‌DataWorks的主要功能‌
56 1
|
3月前
|
分布式计算 DataWorks 监控
DataWorks产品使用合集之怎么设置参数获取上个月最后一天
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
4月前
|
数据采集 DataWorks 测试技术
DataWorks产品使用合集之如何通过REST API进行数据采集,并且自定义传入API的参数
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
134 26
|
3月前
|
数据采集 DataWorks 监控
DataWorks产品使用合集之怎么使用工作空间参数
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
3月前
|
分布式计算 DataWorks Java
DataWorks产品使用合集之如何引用在spark jar中引用密文的空间参数
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
3月前
|
分布式计算 DataWorks 安全
DataWorks产品使用合集之如何使用工作空间参数
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
3月前
|
SQL DataWorks 安全
DataWorks产品使用合集之如何实现在参数里面配置获取运行的时间
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
4月前
|
Web App开发 DataWorks 安全
DataWorks产品使用合集之配置每季的第一天作为调度参数,该怎么实现
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
4月前
|
分布式计算 DataWorks 调度
DataWorks产品使用合集之如何进入迁移助手页面并使用迁移助手功能
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
4月前
|
分布式计算 自然语言处理 DataWorks
MaxCompute产品使用合集之在DataWorks中,当涉及到MC的投递功能时,所指的自定义RAM角色是什么
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。

相关产品

  • 大数据开发治理平台 DataWorks