全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网
DataWorks(数据工场)

SHELL任务

更新时间:2017-08-18 10:47:38

SHELL 任务支持标准 SHELL 语法,不支持交互性语法。SHELL 任务可以在默认资源组上运行,若需要访问 IP/域名,请在 项目管理-项目配置 下将 IP/域名添加到白名单中。

操作步骤

创建 SHELL 节点

  1. 进入数据开发页面,单击 新建,选择 新建任务

     

  2. 填写 新建任务 弹出框中各配置项。此示例中任务类型选择 节点任务,类型选择 SHELL,调度类型选择 周期调度。如下图所示:  

  3. 填写完成后,单击 创建

编辑 SHELL 节点

若想在 SHELL 中调用 系统调度参数,如下所示:

 

SHELL 语句如下:

  1. echo "$1 $2 $3"

注意:

参数1 参数2 …..多个参数之间用空格分隔。更多系统调度参数的使用,请参见 调度属性配置 - 系统参数

测试 SHELL 任务

测试 SHELL 任务有两种方式:页面直接 运行测试运行

两种运行方式的区别,如下所示:

  • 运行:在页面直接单击 运行 时,任务是执行在默认资源组上的;若任务运行时,需要准备运行环境,那么建议使用测试运行。

    比如:通过 SHELL 调用 pyodps 时,您就需要将 pyodps 需要的依赖给准备在您的机器上,将任务指定在您的机器上运行。

  • 测试运行:测试运行的任务会生成实例,支持在指定的资源组上运行;若任务运行时,需要准备运行环境,那么建议使用测试运行。

    注意:

    如何将任务运行在指定的资源组上呢?可以进入 运维中心-任务管理 页面,选中任务单击 修改资源组,这样任务便会运行在指定的机器上。

  • 运行

  1. 在页面单击 运行 后,会出现下图所示的提示:

  2. 单击 去设置,跳转到如下页面,单击 添加

    注意:

    在添加白名单时,可以输入域名/IP 和端口,添加完毕的 IP/域名,默认资源组可直接访问。

  3. 切换回 数据开发 页面,单击 运行,查看结果。

    注意:

    系统调度参数只有在调度系统中才会被替换,因为页面单击 运行 时,没有提交到调度系统中,所以 $3 被替换成了 0。

  • 测试运行

  1. 在页面单击 测试运行 后,会出现下图所示的提示:

    1

  2. 单击 确定 后,系统会检验您任务是否保存,且是否提交到调度系统;若未保存/提交,会弹出提示框,引导您保存/提交任务。

    1

  3. 单击 确定提交, 出现测试运行弹出框,选择业务日期:

    1

  4. 单击 运行,会提示您测试运行已经触发成功,可以前往运维中心查看进度。

    1

  5. 单击 前往运维中心,进入运维中心页面后,右键单击任务名,选择 查看节点运行日志

    日志信息如下:

    从日志中可以看出,系统调度参数已经被替换。

    注意:

    为什么选择的业务日期是 20170806 号,替换出的结果是 20170807 呢?其遵循的转换规则为:实际时间=业务日期+1。

应用场景

通过 SHELL 连接数据库

  • 若数据库是在阿里云上搭建的,且区域是华东2,那么需要将数据库对如下白名单开放,即可连接数据库。

    10.152.69.0/24,10.153.136.0/24,10.143.32.0/24,120.27.160.26,10.46.67.156,120.27.160.81,10.46.64.81,121.43.110.160,10.117.39.238,121.43.112.137,10.117.28.203,118.178.84.74,10.27.63.41,118.178.56.228,10.27.63.60,118.178.59.233,10.27.63.38,118.178.142.154,10.27.63.15,100.64.0.0/8

    注意:

    如果是在阿里云上搭建的数据库,但区域不是华东2,则建议使用外网或购买与数据库同区域的 ECS 做为调度资源,将该 SHELL 任务运行在自定义资源组上。

  • 若数据库是自己在本地搭建的,那么建议使用外网连接,且将数据库对上述白名单 IP 开放。

    注意:

    若使用自定义资源组运行 SHELL 任务,必须把自定义资源组的机器 IP 也加到上述白名单中。

本文导读目录