全部产品
存储与CDN 数据库 域名与网站(万网) 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 钉钉智能硬件
MaxCompute

编写MapReduce

更新时间:2017-12-14 15:10:41

本文将为您介绍安装好 MaxCompute 客户端后,如何快速运行 MapReduce WordCount 示例程序。

注意

如果您使用 Maven,可以从 Maven 库 中搜索 odps-sdk-mapred 获取不同版本的 Java SDK。相关配置信息如下所示:

  1. <dependency>
  2. <groupId>com.aliyun.odps</groupId>
  3. <artifactId>odps-sdk-mapred</artifactId>
  4. <version>0.26.2-public</version>
  5. </dependency>

前提条件

  • 编译、运行 MapReduce 时,需要首先安装 JDK1.6 或以上版本。

操作步骤

  1. 安装并配置好客户端后,打开 odpscmd.bat,进入相应项目空间中。

  2. 输入建表语句,创建输入和输出表。如下所示:

    1. CREATE TABLE wc_in (key STRING, value STRING);
    2. CREATE TABLE wc_out (key STRING, cnt BIGINT);
    3. -- 创建输入、输出表

    更多创建表的语句请参见 创建表

  3. 上传数据。

    您可以通过以下两种方式上传数据:

    • 使用 Tunnel 命令上传数据。

      1. tunnel upload kv.txt wc_in
      2. -- 上传示例数据

      kv.txt 文件中的数据如下:

      1. 238,val_238
      2. 186,val_86
      3. 186,val_86
    • 您也可以用 SQL 语句直接插入数据,示例如下:

      1. insert into table wc_in select '238',' val_238' from (select count(*) from wc_in) a;
  4. 编写 MapReduce 程序并编译。

    MaxCompute 为您提供了便捷的 Eclipse 开发插件,方便您快速开发 MapReduce 程序,并提供了本地调试 MapReduce 的功能。

    您需要先在 Eclipse 中创建一个项目工程,而后在此工程中编写 MapReduce 程序。本地调试通过后,将编译好的程序(Jar 包,如 Word-count-1.0.jar)导出并上传至 MaxCompute。详情请参见 MapReduce 开发插件介绍

  5. 添加 Jar 包到 project 资源(比如这里的 Jar 包名为 word-count-1.0.jar):

    1. add jar word-count-1.0.jar;
  6. 在 MaxCompute 客户端运行 Jar 命令:

    1. jar -resources word-count-1.0.jar -classpath /home/resources/word-count-1.0.jar com.taobao.jingfan.WordCount wc_in wc_out;
  7. 在 MaxCompute 客户端查看结果:

    1. select * from wc_out;

    注意

    如果您在 Java 程序中使用了任何资源,请务必将此资源加入 -resources 参数。Jar 命令的详细介绍请参见 作业提交

本文导读目录