全部产品
大数据开发套件

ODPS_MR任务

更新时间:2017-08-23 19:10:25   分享:   

MaxCompute(原名 ODPS)提供 MapReduce 编程接口,您可以使用 MapReduce 提供的接口(Java API)编写 MapReduce 程序处理 MaxCompute 中的数据,您可以通过创建 ODPS_MR 类型节点的方式在任务调度中使用。MaxCompute MR 的编辑和使用方法,请参见 MaxCompute 文档示例 WordCount 示例

创建 ODPS_MR 节点

新建的 MaxCompute MapReduce 程序以资源方式上传至 MaxCompute,现需新建 ODPS_MR 节点来调用执行。具体操作如下:

  1. 单击数据开发页面工具栏中的 新建 > 新建任务

  2. 填写新建任务弹出框中的各配置项。

  3. 单击创建

添加资源

无论是在 MaxCompute Console 还是阿里云大数据平台中运行,都需要执行 JAR 命令运行。因此,先打包生成 mapreduce_examples.jar(可以通过 Eclipse 的 Export 功能打包,也可以通过 ant 或其他工具生成),再上传至 MaxCompute 资源。

  1. 选择左侧导航栏中的 资源管理,在目录上右键单击 上传资源

  2. 填写资源上传弹出框中的各配置项,注意需要勾选 上传为 ODPS 资源

  3. 单击 提交

    注意:

    上传资源的注意事项请参见 资源管理

    本示例中的 JAR 包详见 mapreduce_examples.jar

编辑 ODPS_MR 节点

ODPS_MR 节点内容如下:

  1. --创建输入表
  2. CREATE TABLE if not exists jingyan_wc_in (key STRING, value STRING);
  3. --创建输出表
  4. CREATE TABLE if not exists jingyan_wc_out (key STRING, cnt BIGINT);
  5. ---创建系统dual
  6. drop table if exists dual;
  7. create table dual(id bigint); --如project中不存在此伪表,则需创建并初始化数据
  8. ---向系统伪表初始化数据
  9. insert overwrite table dual select count(*)from dual;
  10. ---向输入表 wc_in 插入示例数据
  11. insert overwrite table jingyan_wc_in select * from (
  12. select 'project','val_pro' from dual
  13. union all
  14. select 'problem','val_pro' from dual
  15. union all
  16. select 'package','val_a' from dual
  17. union all
  18. select 'pad','val_a' from dual
  19. ) b;
  20. -- 引用刚刚上传的Jar包资源,可在资源管理栏中找到该资源,双击可引用资源。
  21. --@resource_reference{"mapreduce_examples.jar"}
  22. jar -libjars mapreduce_examples.jar -classpath ./mapreduce_examples.jar com.aliyun.odps.mapreduce.examples.WordCount jingyan_wc_in jingyan_wc_out

注意:

一个 MR 调用多个 JAR 资源时,classpath 写法:-classpath http://xxxxx1,http://xxxxx2 即两个路径之间用英文逗号分隔。

运行 ODPS_MR

  1. 单击数据开发页面中的 运行 按钮,出现如下图示。

  2. 本示例无需设置访问 IP,单击 继续运行

查看结果

您可以在 SQL 脚本中查询输出表中的数据。如下图所示:

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