MaxCompute提供MapReduce编程接口。您可以通过创建ODPS MR类型节点并提交任务调度,使用MapReduce Java API编写MapReduce程序来处理MaxCompute中的数据。
前提条件
ODPS MR类型节点的编辑和使用方法,请参见WordCount示例。
操作步骤
- 进入数据开发页面。
- 登录DataWorks控制台。
- 在左侧导航栏,单击工作空间列表。
- 选择工作空间所在地域后,单击相应工作空间后的进入数据开发。
- 创建JAR资源。
- 鼠标悬停至
图标,单击MaxCompute > 资源 > JAR。
您也可以找到相应的业务流程,右键单击MaxCompute,选择新建 > 资源 > JAR。 - 在新建资源对话框中,输入资源名称,并选择目标文件夹。说明
- 如果绑定多个实例,则需要选择MaxCompute引擎实例。
- 如果该JAR包已经在MaxCompute(ODPS)客户端上传过,则需要取消勾选上传为ODPS资源,否则上传会报错。
- 资源名称无需与上传的文件名保持一致。
- 资源名称命名规范:1~128个字符,字母、数字、下划线、小数点,大小写不敏感,JAR资源的后缀为.jar,Python资源的后缀为.py。
- 单击点击上传,在本地选择相应文件后,单击打开。本文以mapreduce example.jar为例。
- 在新建资源对话框中,单击确定。
- 单击工具栏中的
和
图标,保存并提交资源至调度开发服务器端。
- 鼠标悬停至
- 创建ODPS MR节点。
- 鼠标悬停至
图标,单击MaxCompute > ODPS MR。
您也可以找到相应的业务流程,右键单击MaxCompute,选择新建 > ODPS MR。 - 在新建节点对话框中,输入节点名称,并选择目标文件夹。说明 节点名称必须是大小写字母、中文、数字、下划线(_)和小数点(.),且不能超过128个字符。
- 单击提交。
- 鼠标悬停至
- 在节点的编辑页面输入代码,示例如下。
--创建输入表。 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
,即两个路径之间用英文逗号(,)分隔。
- 单击节点编辑区域右侧的调度配置,配置节点的调度属性,详情请参见配置基础属性。
- 保存并提交节点。注意 您需要设置节点的重跑属性和依赖的上游节点,才可以提交节点。
- 单击工具栏中的
图标,保存节点。
- 单击工具栏中的
图标。
- 在提交新版本对话框中,输入变更描述。
- 单击确认。
如果您使用的是标准模式的工作空间,提交成功后,请单击右上方的发布。具体操作请参见发布任务。 - 单击工具栏中的
- 测试节点,详情请参见查看周期任务。