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查看添加的自定义资源组
1.3登陆添加为自定义资源组的ECS,建立对应目录,并给admin用户设置权限
目录下的odps_haudong为MaxCompute的客户端
upfile.txt内容为
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;
查看当前数据展示
2.2建立手动业务流程,并配置Shell脚本,以及添加调度资源组为自定义资源组
/home/export/odps_huadong/bin/odpscmd -e "tunnel upload -overwrite true /home/export/upfile.txt shell_test"
三、提交shell节点到生产环境,并进行执行
3.1提交业务流程
3.2发布任务到生产环境,并在手动任务执行
显示执行命令成功
四、检测命令是否执行
4.1返回数据开发界面执行语句,确认数据是否被覆盖写入
select * from shell_test;
可以看到数据写入成功
欢迎加入“MaxCompute开发者社区2群”,点击链接申请加入或扫描二维码
https://h5.dingtalk.com/invite-page/index.html?bizSource=____source____&corpId=dingb682fb31ec15e09f35c2f4657eb6378f&inviterUid=E3F28CD2308408A8&encodeDeptId=0054DC2B53AFE745
image