创建完成
MaxCompute Java Module后,即可以开始开发
MR了。
开发MR
1.在module的源码目录即src->main上右键new,选择MaxCompute Java。
2.分别创建Driver,Mapper,Reducer。
3.模板已自动填充框架代码,只需要设置输入/输出表,Mapper/Reducer类等即可。
调试MR
MR开发好后,下一步就是要测试自己的代码,看是否符合预期,我们支持两种方式:
单元测试:在examples目录下有WordCount的单测实例,可参考例子编写自己的UT。
本地运行MR:本地运行时,需要指定运行数据源,有两种方式设定测试数据源:
studio通过tunnel服务自动下载指定MaxCompute project的表数据到warehouse目录下。默认下载100条,如需更多数据测试,请自行使用console的tunnel命令或者studio的表下载功能。
提供mock项目(example_project)及表数据,用户可参考warehouse下example_project自行设置。
1.运行MR: 在Driver类上右键,点击”运行”菜单,弹出run configuration对话框,配置MR需要在哪个MaxCompute Project上运行即可。
2.点击ok,如果指定MaxComputeproject的表数据未被下载到warehourse中,则首先下载数据;如果采用mock项目或已被下载则跳过。接下来,MR localrun框架会读取warehouse中指定表的数据作为MR的输入,开始本地运行MR,用户可以在控制台看到日志输出和结果打印。
生产运行MR
本地调试通过后,接下来就可以把MR发布到服务端,在MaxCompute分布式环境下运行了:
1.首先,你得将自己的MR程序打成jar包,并发布到服务端。
如何打包发布?
2.通过studio无缝集成的MaxCompute console(具体的,在Project Explorer Window的project上右键,选择Open in Console),在console命令行中输入类似如下的
jar命令:
- jar -libjars wordcount.jar -classpath D:\odps\clt\wordcount.jar com.aliyun.odps.examples.mr.WordCount wc_in wc_out;