执行计划是一组作业的集合,他们通过调度上的配置,可以被一次性或者周期性的执行。他可以在一个现有的 E-MapReduce 集群上运行,也可以动态的按需创建出一个临时集群来运行作业。它最大的优势就是跑多少就用多少资源,最大化的节省资源的浪费。
创建执行计划的步骤如下:
1.登录阿里云 E-MapReduce 控制台执行计划页面。
2.选择地域(Region)。
3.单击右上角的创建执行计划,进入创建执行计划页面。
4.在选择集群方式页面上,有两个选项,分别是“按需创建”和“已有集群”。
按需创建:创建一个全新的集群,用来运行作业。
一次性调度的执行计划,会在开始执行的时候创建对应配置的集群,并在运行完成以后释放该集群。具体创建参数说明参考创建集群。
周期调度的执行计划,会在每一个调度周期开始时,按照用户的设置创建出一个新的集群运行作业,并在运行结束后,释放集群。
已有集群:使用一个已有的集群,并且该集群要符合以下要求。如果选择“已有集群”,则进入选择集群页面。用户可选择要将该执行计划关联到的集群。
目前只有“运行中”和“空闲”这 2 个状态的集群可以被提交执行计划。
5.单击下一步,进入配置作业页面。左边表中会列出用户所有的作业,可以单击选中需要执行的作业,然后单击中央的右向按钮将作业加入已选作业队列。已选作业队列中的作业会被按排列顺序提交到集群中执行。同一个作业可以被添加多次,就会多次执行。如果您还没有创建任何作业,请您先参见创建作业的操作说明创建作业。
6.单击下一步,进入配置调度方式页面。配置项说明如下:
执行计划名称:长度限制为 1-64 个字符,只允许包含中文、字母、数字、’-‘、’_’。
调度策略
手动执行:创建完执行计划以后,并不会自动执行。需要用户手动执行。一旦已经在运行中了,不可以被再次执行。
周期调度:创建完执行计划以后,周期调度功能会立刻启动。并在用户设置的调度时间点上开始执行。可以在列表页面关闭周期调度。当调度执行开始的时候,上一周期的执行还未结束,本次调度就会被忽略。
调度周期设置:可以有天或小时两种调度的周期。天默认是一天,且无法更改。若选择小时,则可设置具体间隔时间,范围从 1-23。
首次执行时间:调度有效的开始时间。从这个时间开始,按照调度周期进行周期调度。第一次调度按照实际的时间满足要求的最近一个时间点开始调度。
单击确认提交,完成执行计划的创建。
其他
周期调度示例
这个设置表示,从 2015 年 10 月 31 日 10 点 0 分开始第一次调度,以后每隔一天调度一次。第二次调度是 2015 年 11 月 1 日 10 点 0 分。
作业的执行顺序
执行计划中的作业,按照用户选择的作业在作业列表中的顺序,从第一个开始一直执行到最后一个。
多个执行计划的执行顺序
每一个执行计划都可以看做是一个整体。当多个执行计划被提交到同一个集群上后,每一个执行计划都会按照自身内部的作业顺序提交作业,和单个执行计划的顺序是一致。而多个执行计划之间的作业是并行的。
实践示例 —— 前期作业调试
在作业的调试阶段,如果经常用按需自动创建集群的方式会比较慢,每次都需要启动集群会花费不少的时间。推荐的方式是:先手动创建一个集群,然后在执行计划中,选择关联该集群来运行作业,并设置调度方式为立即执行。调试的时候,每次都通过单击执行计划列表页上的“立即运行”来多次运行,查看结果。一旦作业调试完成,修改执行计划。将关联现有集群的方式,修改为按需创建新集群。并将调度方式修改为周期调度(视实际情况而定)。后续就可以按需自动跑任务了。