当需要对业务流程中多个节点的同一参数变量统一赋值或替换其参数值时,可使用流程参数功能实现。本文以替换周期业务流程中节点的ReplaceMe参数取值示例,为您介绍流程参数的使用方法。
前提条件
支持的节点类型
当前仅ODPS SQL、EMR Spark Shell、EMR Spark、EMR Shell、EMR Hive、EMR MR、EMR Presto、EMR Trino、EMR Spark SQL、EMR Spark Streaming、EMR Streaming SQL、Hologres SQL节点支持使用流程参数,具体请以实际界面为准。
注意事项
-
配置并保存流程参数后,每次打开节点(即当前业务流程下支持使用流程参数的节点)时,都会加载业务流程中最新的流程参数至节点的参数配置列表,节点将回到编辑状态,需提交发布节点后,新的流程参数配置才会在调度场景下生效。
-
当同一参数在流程参数的赋值与单个节点中的赋值不一致时,流程参数的赋值会覆盖节点中的参数赋值。
-
流程参数在进行参数赋值时,参数值或表达式不支持配置为${英文}:格式。例如:var:1、${var}:1。
流程参数配置入口
-
进入数据开发页面。
登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的,在下拉框中选择对应工作空间后单击进入数据开发。
-
进入流程参数配置界面。
双击目标业务流程,在业务流程编辑页面右侧导航栏配置流程参数。在DataStudio左侧数据开发面板的业务流程树形列表中,双击目标业务流程即可打开流程参数页签。页签左侧展示常用节点列表(ODPS SQL、PyODPS 3、EMR Hive、EMR Spark SQL、Hologres SQL),上方提供运行和提交按钮,右上角有发布和运维入口。
配置流程参数
支持使用流程参数的节点,其参数配置方式相同。通常,当需要批量为业务流程下节点的某参数赋值时,建议使用该功能。本文示例通过流程参数,将周期业务流程中ODPS SQL节点的ReplaceMe参数取值20230613替换为20230615,为您介绍流程参数的使用。
-
开发节点配置节点参数。
-
进入节点编辑页面。
双击目标业务流程下的ODPS SQL节点,进入节点编辑页面。
-
配置节点参数。
配置ODPS SQL节点参数取值为
20230613。在代码编辑器中编写SELECT ${ReplaceMe};语句,单击右侧边栏的调度配置标签,在参数表格中手动添加参数名ReplaceMe、参数值20230613。单击调度参数预览按钮,在弹出的对话框中确认各实例的参数值均已正确替换为ReplaceMe=20230613。更多节点参数的配置,详情请参见配置调度参数。
-
-
使用流程参数替换开发节点中的参数取值。
-
双击目标业务流程,在业务流程编辑页面,单击右侧导航栏的流程参数。
-
在流程参数对话框配置参数信息。
示例配置流程参数取值为
20230615,保存配置后,业务流程中ODPS SQL节点的参数取值将替换为20230615。您也可根据业务需求,新增多个参数使用。说明-
当同一参数在流程参数的赋值与单个节点中的赋值不一致时,流程参数的赋值会覆盖节点中的参数赋值。
-
流程参数在进行参数赋值时,参数值或表达式不支持配置为${英文}:格式。例如:var:1、${var}:1。
在流程参数弹窗中,将参数名称设置为
ReplaceMe,单击保存。ODPS SQL节点参数替换情况如下。示例中,ODPS SQL 代码为SELECT ${ReplaceMe};,参数 ReplaceMe 的代码解析值为20230613。单击调度参数预览,可看到后3个实例中 ReplaceMe 均取流程参数值20230615,验证流程参数已生效。 -
-
验证流程参数是否生效
流程参数配置完成后,您需运行业务流程,验证流程参数配置的参数取值是否已替换节点中配置的参数取值。
-
运行业务流程并为变量赋值。
运行业务流程时,当使用了流程参数,您需手动为流程参数进行赋值。更多运行方式介绍,详情请参见任务调试运行。
-
在业务流程编辑页面,单击工具栏中的
图标。 -
在填写参数对话框中为变量ReplaceMe赋值
20230615。
-
-
查看运行结果。
在业务流程编辑页面,右键单击ODPS SQL节点,选择查看日志,即可在页面下方查看ODPS SQL节点的赋值情况。此时节点的参数取值已由
20230613变更为20230615,流程参数生效且运行无误。运行日志中SKYNET_PARAVALUE=ReplaceMe=20230615表明流程参数已生效。2023-06-14 16:19:57 INFO Current task status:RUNNING 2023-06-14 16:19:57 INFO Start execute shell on node cn-shanghai.475270149050624.1626085771455. 2023-06-14 16:19:57 INFO Current working dir /home/admin/alisatasknode/taskinfo/20230614/phoenix/16/19/55/mm8wog2kwtj8czebilx1dbcp 2023-06-14 16:19:57 INFO Full Command .. 2023-06-14 16:19:57 INFO —————————— 2023-06-14 16:19:57 INFO /opt/taobao/tbdpapp/odpswrapper/odpswrapper.py /home/admin/alisatasknode/taskinfo//20230614/phoenix/16/19/55/mm8wog2kwtj8czebilx1dbcp//275011_10728491_503348330 ReplaceMe=20230615 2023-06-14 16:19:57 INFO —————————— 2023-06-14 16:19:57 INFO List of passing environment .. 2023-06-14 16:19:57 INFO —————————— 2023-06-14 16:19:57 INFO SKYNET_BUSINESS_NAME=流程参数: 2023-06-14 16:19:57 INFO SKYNET_ENDPOINT=http://service.cn.maxcompute.aliyun-inc.com/api: 2023-06-14 16:19:57 INFO SKYNET_PTYPE=10: 2023-06-14 16:19:57 INFO SKYNET_ACTIONID=1: 2023-06-14 16:19:57 INFO TASK_WHITE_LIST=oapi.dingtalk.com:443,47.102.239.120:3306: 2023-06-14 16:19:57 INFO SKYNET_RERUN_MODE=1: 2023-06-14 16:19:57 INFO SKYNET_FLOW_PARAVALUE={"ReplaceMe":"20230615"}: 2023-06-14 16:19:57 INFO SKYNET_ONDUTY=204288958124218159: 2023-06-14 16:19:57 INFO SKYNET_SYSTEMID=dev: 2023-06-14 16:19:57 INFO CALC_ENGINE_IDENTIFIER=saochen_mc_0508_dev: 2023-06-14 16:19:57 INFO SKYNET_SOURCEID=700028402970: 2023-06-14 16:19:57 INFO SKYNET_PARAVALUE=ReplaceMe=20230615: 2023-06-14 16:19:57 INFO SKYNET_TASKID=708xxx: 2023-06-14 16:19:57 INFO SKYNET_TENANT_ID=283789484710656:
提交发布流程参数
确认流程参数配置无误后,您需提交发布当前业务流程,提交发布后,流程参数才会真正生效。