本文介绍老版 E-MapReduce 作业调度创建作业流程。

要运行一个计算任务,首先需要定义一个作业,其步骤如下:

  1. 登录阿里云 E-MapReduce 控制台
  2. 选择地域(Region),则作业将会创建在对应的地域内。
  3. 单击上方的老版作业调度页签,进入作业列表页面。
  4. 单击该页右上角的创建作业,进入创建作业页面,如下图所示:

  5. 填写作业名称
  6. 选择作业类型
  7. 填写作业的应用参数。应用参数需要完整填写该作业运行的 jar 包、作业的数据输入输出地址以及一些命令行参数,也就是将用户在命令行的所有参数填写在这里。如果有使用到 OSS 的路径,可以单击下方的选择 OSS 路径选择 OSS 资源路径。关于各作业类型的参数配置,请参见用户指南中的作业章节。
  8. 实际执行命令。这里会显示作业在 ECS 上实际被执行的命令。用户如果把这个命令直接复制下来,就能够在 E-MapReduce 集群的命令行环境中直接运行。
  9. 失败重试。可设定重试次数与重试间隔,默认否。
  10. 选择执行失败后策略。暂停当前执行计划会在这个作业失败后,暂停当前整个执行计划,等待用户处理。而继续执行下一个作业在这个作业失败以后,会忽略这个错误继续执行后一个作业。
  11. 单击确定完成创建。

作业示例

这是一个 Spark 类型的作业,应用参数中设置了相关的参数,输入输出路径等。

注意 本作业仅仅示例,不能实际运行。


OSS 与 OSSREF

oss:// 的前缀代表数据路径指向一个 OSS 路径,当要读写该数据的时候,这个指明了操作的路径,与 hdfs:// 类似。

ossref:// 同样是指向一个 OSS 的路径,不同的是它会将对应的代码资源下载到本地,然后将命令行中的路径替换为本地路径。它是用于更方便地运行一些本地代码,而不需要登录到机器上去上传代码和依赖的资源包。

上面的例子中, ossref://xxxxxx/xxx.jar 这个参数代表作业资源的jar,这个jar存放在 OSS 上,在运行的时候,E-MapReduce 会自动下载到集群中运行。而跟在 jar 后面的 2 个 oss://xxxx 以及另外两个值则是作为参数出现,他们会被作为参数传递给 jar 中的主类来处理。

注意 ossref 不可以用来下载过大的数据资源,否则会导致集群作业的失败。