天天看点

DataWorks使用Shell节点调用自定义资源组执行脚本一、设置自定义资源组并配置权限ECS权限二、DataWorks新建Shell节点,并进行编辑脚本三、提交shell节点到生产环境,并进行执行四、检测命令是否执行

DataWorks使用Shell节点调用自定义资源组执行脚本

背景描述:

本文主要介绍DataWorks使用Shell节点调度自定义资源组执行Shell脚本,且使用该功能需要用户的DataWorks版本为企业版。文中主要内容包括配置自定义资源组,以及设置ECS的amdin用户权限,脚本模式使用MaxCompute客户端,并配置手动业务流程执行对应的Shell脚本在开发环境运行,检测其脚本执行的命令是否正确。该功能对于用户调度用户ECS上的的程序提供了便利,使其他的任务能和DataWorks的调度结合起来。

一、设置自定义资源组并配置权限ECS权限

1.1根据文档添加对应空间下的自定义资源组

https://help.aliyun.com/document_detail/169950.html

1.2查看添加的自定义资源组

DataWorks使用Shell节点调用自定义资源组执行脚本一、设置自定义资源组并配置权限ECS权限二、DataWorks新建Shell节点,并进行编辑脚本三、提交shell节点到生产环境,并进行执行四、检测命令是否执行

1.3登陆添加为自定义资源组的ECS,建立对应目录,并给admin用户设置权限

DataWorks使用Shell节点调用自定义资源组执行脚本一、设置自定义资源组并配置权限ECS权限二、DataWorks新建Shell节点,并进行编辑脚本三、提交shell节点到生产环境,并进行执行四、检测命令是否执行

目录下的odps_haudong为MaxCompute的客户端

DataWorks使用Shell节点调用自定义资源组执行脚本一、设置自定义资源组并配置权限ECS权限二、DataWorks新建Shell节点,并进行编辑脚本三、提交shell节点到生产环境,并进行执行四、检测命令是否执行

upfile.txt内容为

DataWorks使用Shell节点调用自定义资源组执行脚本一、设置自定义资源组并配置权限ECS权限二、DataWorks新建Shell节点,并进行编辑脚本三、提交shell节点到生产环境,并进行执行四、检测命令是否执行
chown -R amdin:admin /home
           

二、DataWorks新建Shell节点,并进行编辑脚本

2.1创建临时节点,并执行以下语句

create table shell_test(key string);
insert overwrite table shell_test values('hadoop'),('kafka'),('habse');
select * from shell_test;
           

查看当前数据展示

DataWorks使用Shell节点调用自定义资源组执行脚本一、设置自定义资源组并配置权限ECS权限二、DataWorks新建Shell节点,并进行编辑脚本三、提交shell节点到生产环境,并进行执行四、检测命令是否执行

2.2建立手动业务流程,并配置Shell脚本,以及添加调度资源组为自定义资源组

/home/export/odps_huadong/bin/odpscmd  -e "tunnel upload -overwrite true /home/export/upfile.txt  shell_test"
           
DataWorks使用Shell节点调用自定义资源组执行脚本一、设置自定义资源组并配置权限ECS权限二、DataWorks新建Shell节点,并进行编辑脚本三、提交shell节点到生产环境,并进行执行四、检测命令是否执行

三、提交shell节点到生产环境,并进行执行

3.1提交业务流程

DataWorks使用Shell节点调用自定义资源组执行脚本一、设置自定义资源组并配置权限ECS权限二、DataWorks新建Shell节点,并进行编辑脚本三、提交shell节点到生产环境,并进行执行四、检测命令是否执行
DataWorks使用Shell节点调用自定义资源组执行脚本一、设置自定义资源组并配置权限ECS权限二、DataWorks新建Shell节点,并进行编辑脚本三、提交shell节点到生产环境,并进行执行四、检测命令是否执行

3.2发布任务到生产环境,并在手动任务执行

DataWorks使用Shell节点调用自定义资源组执行脚本一、设置自定义资源组并配置权限ECS权限二、DataWorks新建Shell节点,并进行编辑脚本三、提交shell节点到生产环境,并进行执行四、检测命令是否执行
DataWorks使用Shell节点调用自定义资源组执行脚本一、设置自定义资源组并配置权限ECS权限二、DataWorks新建Shell节点,并进行编辑脚本三、提交shell节点到生产环境,并进行执行四、检测命令是否执行

显示执行命令成功

DataWorks使用Shell节点调用自定义资源组执行脚本一、设置自定义资源组并配置权限ECS权限二、DataWorks新建Shell节点,并进行编辑脚本三、提交shell节点到生产环境,并进行执行四、检测命令是否执行

四、检测命令是否执行

4.1返回数据开发界面执行语句,确认数据是否被覆盖写入

select * from shell_test;
           

可以看到数据写入成功

DataWorks使用Shell节点调用自定义资源组执行脚本一、设置自定义资源组并配置权限ECS权限二、DataWorks新建Shell节点,并进行编辑脚本三、提交shell节点到生产环境,并进行执行四、检测命令是否执行

欢迎加入“MaxCompute开发者社区2群”,点击链接申请加入或扫描二维码

https://h5.dingtalk.com/invite-page/index.html?bizSource=____source____&corpId=dingb682fb31ec15e09f35c2f4657eb6378f&inviterUid=E3F28CD2308408A8&encodeDeptId=0054DC2B53AFE745

image