通过任务编排中的脚本代码可以实现周期性或定时运行脚本,本文介绍配置基于数据库网关的脚本代码节点。
背景信息
很多任务以脚本的方式存在于服务器中,脚本代码节点结合数据库网关,可以实现这些脚本的统一调度。例如:
使用高级的工具(例如:Python的Numpy库、Sklearn库,Spark的MLlib库)加工数据,产出各种业务模型,应用到搜索系统的精排、推荐系统。
数据消费场景。例如,读取数据生成的Excel脚本,读取数据发邮件的脚本等。
使用限制
目前仅支持Shell脚本文件。
您也可以通过Shell脚本调度其他程序,在其他程序中实现其各类脚本文件的调度。
脚本文件名只能包含字母、数字、下划线(_)和半角句号(.)。
步骤1:创建数据库网关
在脚本文件所在设备上创建数据库网关,并将脚本文件放在dg_scripts目录下。
数据库网关应与目标设备一一对应。
例如,3台阿里云ECS设备上需要调用脚本代码,您需要创建3个数据库网关,而不是在一个数据库网关下新建3个节点。
登录数据库网关控制台。
单击新建网关。
在新建网关对话框中,填写网关的名称和备注信息,单击下一步。
在脚本文件所在设备上安装数据库网关。
选中Linux/macOS(x86_64)。脚本代码任务当前只支持Linux系统,且不允许使用Root账号安装启动。
如果目标设备为阿里云ECS,建议选中通过阿里云VPC内部地址接入(ECS自建库/专线/云企业网/VPN网关)。
单击复制命令行,将命令行粘贴到需要安装网关的设备上,回车执行。
本地网关成功启动后,即可执行下一步操作。
在Linux安装网关的用户目录下创建dg_scripts目录,默认自动创建。
例如,当前用户为xiaoming,在/home/xiaoming目录下执行命令
mkdir dg_scripts
,创建dg_scripts目录。将需要执行任务的Shell脚本文件放到dg_scripts目录下。
例如,脚本文件名为demo.sh,在脚本文件所在目录下,执行命令
mv demo.sh /home/xiaoming/dg_scripts
,将脚本文件移动到dg_scripts目录下。
步骤二:配置脚本代码节点
- 登录数据管理DMS 5.0。
在顶部菜单栏中,选择 。
说明若您使用的是极简模式的控制台,请单击控制台左上角的图标,选择
。单击目标任务流名称,进入任务流详情页面。
说明如果您需要新增任务流,请参见新增任务流。
可选:在画布左侧任务类型列表中,拖拽脚本代码到画布空白区域。
双击脚本代码节点。
根据业务需要,在脚本代码配置页面设置变量。您可以单击变量设置区域右上角的,查看配置变量的提示信息。
在脚本配置区域,配置脚本参数。
配置项
说明
地区
选择目标数据库网关所属的地区。
网关ID
选择目标数据库网关的名称。
说明网关名称在控制台网关列表页面查看。
网关实例ID
选择目标数据库网关的网关节点ID。
说明网关节点ID在目标网关的网关详情页面查看。
文件名
输入目标数据库网关安装目录dg_scripts下的脚本文件名。例如数据库网关中存放脚本文件的完整目录为/home/xiaoming/dg_scripts/demo.sh,则文件名输入demo.sh。
运行参数
选择或输入变量。变量在脚本中将作为运行参数。
脚本支持的变量有3种:
单击试运行。
如果执行日志的最后一行出现
status SUCCEEDED
,表明任务试运行成功。如果执行日志的最后一行出现
status FAILED
,表明任务试运行失败。说明如果试运行失败,在执行日志中查看执行失败的节点和原因,修改配置后重新尝试。
执行成功后,您可以在执行日志中查看脚本的标准输出打印。