MaxCompute提供MapReduce编程接口。您可以通过创建ODPS MR类型节点并提交任务调度,使用MapReduce Java API编写MapReduce程序来处理MaxCompute中的数据。
前提条件
您需要上传并提交、发布使用的资源后,再创建ODPS MR节点。ODPS MR类型节点的编辑和使用方法,请参见WordCount示例。
操作步骤
- 进入数据开发页面。
- 登录DataWorks控制台。
- 在左侧导航栏,单击工作空间列表。
- 选择工作空间所在地域后,单击相应工作空间后的数据开发。
- 创建JAR资源。
- 创建ODPS MR节点。
- 在节点的编辑页面输入代码,示例如下。
--创建输入表。 CREATE TABLE if not exists jingyan_wc_in (key STRING, value STRING); --创建输出表。 CREATE TABLE if not exists jingyan_wc_out (key STRING, cnt BIGINT); ---创建系统dual。 drop table if exists dual; create table dual(id bigint); --如果工作空间不存在该伪表,则需要创建并初始化数据。 ---向系统伪表初始化数据。 insert overwrite table dual select count(*)from dual; ---向输入表wc_in插入示例数据。 insert overwrite table jingyan_wc_in select * from ( select 'project','val_pro' from dual union all select 'problem','val_pro' from dual union all select 'package','val_a' from dual union all select 'pad','val_a' from dual ) b; -- 引用刚刚上传的JAR包资源,可以在资源管理栏中找到该资源,右键引用资源。 --@resource_reference{"mapreduce-examples.jar"} jar -resources mapreduce-examples.jar -classpath ./mapreduce-examples.jar com.aliyun.odps.mapred.open.example.WordCount jingyan_wc_in jingyan_wc_out
代码说明如下:--@resource_reference
:您可以右键单击资源名称,选择引用资源,即可自动产生该条语句。-resources
:引用到的JAR资源文件名。-classpath
:JAR包的路径。由于已经引用了资源,此处路径统一为./下的JAR包。com.aliyun.odps.mapred.open.example.WordCount
:执行过程调用JAR中的主类,需要和JAR中的主类名称保持一致。jingyan_wc_in
:MR的输入表名称,已在上述代码中提前创建。jingyan_wc_out
:MR的输出表名称,已在上述代码中提前创建。- 一个MR调用多个JAR资源时,classpath写法为
-classpath ./xxxx1.jar,./xxxx2.jar
,即两个路径之间用英文逗号(,)分隔。
- 单击节点编辑区域右侧的调度配置,配置节点的调度属性,详情请参见配置基础属性。
- 保存并提交节点。重要 您需要设置节点的重跑属性和依赖的上游节点,才可以提交节点。
- 单击工具栏中的
图标,保存节点。
- 单击工具栏中的
图标。
- 在提交新版本对话框中,输入变更描述。
- 单击确认。
如果您使用的是标准模式的工作空间,提交成功后,请单击右上方的发布。具体操作请参见发布任务。 - 单击工具栏中的
- 任务运维,详情请参见周期任务运维概述。