要运行一个计算任务,首先需要定义一个作业,其步骤如下:
登录阿里云 E-MapReduce 控制台作业页面。
选择地域(Region),则作业将会创建在对应的地域内。
单击该页右上角的[backcolor=transparent]创建作业,进入创建作业页面,如下图所示:
填写作业名称。
选择作业类型。
填写作业的应用参数。应用参数需要完整填写该作业运行的 jar 包、作业的数据输入输出地址以及一些命令行参数,也就是将用户在命令行的所有参数填写在这里。如果有使用到 OSS 的路径,可以单击下方的“选择 OSS 路径”选择 OSS 资源路径。关于各作业类型的参数配置,请参见用户指南中的作业。
实际执行命令。这里会显示作业在 ECS 上实际被执行的命令。用户如果把这个命令直接复制下来,就能够在 E-MapReduce 集群的命令行环境中直接运行。
选择执行失败后策略。暂停当前执行计划会在这个作业失败后,暂停当前整个执行计划,等待用户处理。而继续执行下一个作业在这个作业失败以后,会忽略这个错误继续执行后一个作业。
单击[backcolor=transparent]确定完成创建。
作业示例
这是一个 Spark 类型的作业,应用参数中设置了相关的参数,输入输出路径等。
注意:本作业仅仅示例,不能实际运行。
oss 与 ossref
[backcolor=transparent]oss:// 的前缀代表数据路径指向一个 OSS 路径,当要读写该数据的时候,这个指明了操作的路径,与 hdfs:// 类似。
[backcolor=transparent]ossref:// 同样是指向一个 OSS 的路径,不同的是它会将对应的代码资源下载到本地,然后将命令行中的路径替换为本地路径。它是用于更方便地运行一些本地代码,而不需要登录到机器上去上传代码和依赖的资源包。
上面的例子中, ossref://xxxxxx/xxx.jar 这个参数代表作业资源的jar,这个jar存放在OSS上,在运行的时候,E-MapReduce会自动下载到集群中运行。而跟在jar后面的2个 oss://xxxx 以及另外2个值则是作为参数出现,他们会被作为参数传递给jar中的主类来处理。
注意: ossref 不可以用来下载过大的数据资源,否则会导致集群作业的失败。