通过任务编排中的脚本代码可以实现周期性或定时运行脚本,本文介绍配置基于数据库网关的脚本代码节点。
背景信息
很多任务以脚本的方式存在于服务器中,脚本代码节点结合数据库网关,可以实现这些脚本的统一调度。例如:
- 使用高级的工具(例如: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。
|
文件名 |
输入目标数据库网关安装目录dg_scripts下的脚本文件名。例如数据库网关中存放脚本文件的完整目录为/home/xiaoming/dg_scripts/demo.sh,则文件名输入demo.sh。
|
运行参数 |
选择或输入变量。变量在脚本中将作为运行参数。
脚本支持的变量有3种:
- 系统变量:变量的引用形式为${var_name} ,例如${sys.flow.start.year}。关于系统变量,请参见系统变量。
- 时间变量:变量的引用形式为${var_name}。自定义时间变量,请参见配置时间变量。
- 脚本输出变量:不需要手动输入,脚本任务会自动从脚本中获取,关于脚本输出变量,请参见变量介绍。
|
- 单击试运行。
- 如果执行日志的最后一行出现
status SUCCEEDED
,表明任务试运行成功。
- 如果执行日志的最后一行出现
status FAILED
,表明任务试运行失败。
说明 如果试运行失败,在执行日志中查看执行失败的节点和原因,修改配置后重新尝试。
执行成功后,您可以在执行日志中查看脚本的标准输出打印。