本文为您介绍如何在MaxCompute Studio上开发MapReduce,包括编写Mapreduce、调试Mapreduce、打包、上传和运行Mapreduce。

前提条件

您需要完成以下操作:

编写MapReduce

  1. Project区域下,右键单击Module的源码目录(即src > main > java),选择new > MaxCompute Java
  2. 创建Driver。填写NameKind,单击OK
    • Name:创建的MaxCompute Java Class名称。如果还没有创建Package,在此处填写packagename.classname,会自动生成Package。
    • Kind:选择类型为Driver。目前支持的类型包含自定义函数(UDF/UDAF/UDTF)、MapReduce(Driver/Mapper/Reducer)和非结构化开发(StorageHandler/Extractor/Outputer)等。
      说明 创建Mapper和Reducer时,请选择Kind分别为MapperReducer
  3. Driver创建成功后,在编辑界面开发Java程序。

    Java模板已自动填充框架代码,您只需设置输入表、输出表、Mapper和Reducer类等信息。

    说明 MapReduce开发详情请参见编写MapReduce(可选)
  4. 以同样的方式创建Mapper和Reducer。

通过本地运行调试MapReduce

通过本地运行方式测试,查看Mapreduce的运行结果是否符合预期。

  1. 右键单击编写完成的Java脚本,选择Run
  2. Run/Debug Configurations页面上选择此次运行的MaxCompute项目空间名称。
    **
  3. 单击OK,开始运行。
    说明
    • 本地运行会读取warehouse中指定的表数据作为输入,您可以在控制台查看日志输出。
    • 如果指定的MaxCompute项目的表数据未被下载至warehouse目录中,会先下载数据;如果数据已经下载,则跳过此步骤。
    • 关于warehouse的说明,请参见本地warehouse目录

通过单元测试调试MapReduce

您可以参考examples目录下的WordCount单元测试示例,编写测试用例。

打包上传

调试成功之后,将Java程序打成Jar包,并作为资源上传至MaxCompute服务端,详情请参见打包、上传和注册

运行MapReduce

通过MaxCompute客户端运行MapReduce。

  1. 在左侧导航栏,单击Project Explorer
  2. 右键单击项目名称,选择Open in Console
  3. Console区域,执行如下命令运行MapReduce。更多命令请参见Jar命令
    jar-libjars wordcount.jar -classpath D:\odps\clt\wordcount.jar com.aliyun.odps.examples.mr.WordCount wc_in wc_out;