全部产品
MaxCompute

编写MapReduce

更新时间:2017-06-07 13:26:11   分享:   

本文章节的目的是介绍在安装好 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>

备注:

1.创建输入输出表,创建表的语句请参阅 创建表(CREATE TABLE)

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

2.上传数据

  • 使用 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;

3.编写 MapReduce 程序并编译

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

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

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

  1. add jar word-count-1.0.jar;

5.在 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;

6.在 MaxCompute 客户端查看结果:

  1. select * from wc_out;

备注:如果在 java 程序中使用了任何资源,请务必将此资源加入 -resources 参数。jar 命令的详细介绍请参见 Jar命令介绍

本文导读目录
本文导读目录
以上内容是否对您有帮助?