本文介绍如何配置Hadoop MapReduce类型的作业。

前提条件

已创建好项目,详情请参见项目管理

操作步骤

  1. 通过主账号登录阿里云 E-MapReduce 控制台
  2. 单击上方的数据开发页签。
  3. 项目列表页面,单击对应项目所在行的作业编辑
  4. 在页面左侧,在需要操作的文件夹上单击右键,选择新建作业
    说明 您还可以通过在文件夹上单击右键,进行新建子文件夹、重命名文件夹和删除文件夹操作。
  5. 输入作业名称作业描述,选择MR作业类型。
    表示创建的作业是一个Hadoop MapReduce作业。这种类型的作业,其运行实际是通过以下方式提交的Hadoop MapReduce作业。
    hadoop jar xxx.jar [MainClass] -Dxxx ....
  6. 单击确定
  7. 作业内容中,填写提交该作业需要提供的命令行参数。

    所填写的命令行参数需要自hadoop jar命令后的第一个参数开始填写,即在输入框中首先填写运行该作业所需的jar包所在路径,再填写 [MainClass]和其它您想要设置的命令行参数。

    例如,您想要提交一个Hadoop的sleep作业,该作业不读写任何数据、只提交一些mapper和reducer task到集群中,且每个task执行时需要 sleep一段时间。在Hadoop(以 hadoop-2.6.0版本为例)中,该作业处于Hadoop发行版的hadoop-mapreduce-client-jobclient-2.6.0-tests.jar包文件中。这种情况下,如果您通过命令行的方式提交该作业,需要执行以下命令:
    hadoop jar /path/to/hadoop-mapreduce-client-jobclient-2.6.0-tests.jar sleep -m 3 -r 3 -mt 100 -rt 100
    而在E-MapReduce中配置这个作业,则应在作业内容输入框中填写以下内容。
    /path/to/hadoop-mapreduce-client-jobclient-2.6.0-tests.jar sleep -m 3 -r 3 -mt 100 -rt 100
    说明 您也可以单击下方的选择OSS路径,选择文件前缀OSSREF,从文件路径中进行浏览和选择,系统会自动补齐OSS上Hadoop MapReduce脚本的路径。
  8. 单击保存,作业配置即定义完成。
    上面的例子中,sleep作业并没有数据的输入输出,如果作业要读取数据,并输出处理结果(例如:wordcount),则需要指定数据的input路径和output路径。用户可以读写E-MapReduce集群HDFS和OSS上的数据。如果需要读写OSS上的数据,只需要在填写input路径和output路径时,将数据路径写成OSS上的路径地址即可,例如:
    jar ossref://emr/checklist/jars/chengtao/hadoop/hadoop-mapreduce-examples-2.6.0.jar randomtextwriter -D mapreduce.randomtextwriter.totalbytes=320000 oss://emr/checklist/data/chengtao/hadoop/Wordcount/Input