摘要: 用户在DataWorks上执行MapReduce作业的时候,文件大于10M的JAR和资源文件不能上传到Dataworks,导致无法使用调度去定期执行MapReduce作业。 解决方案: jar -resources test_mr.
用户在DataWorks上执行MapReduce作业的时候,文件大于10M的JAR和资源文件不能上传到Dataworks,导致无法使用调度去定期执行MapReduce作业。
解决方案:
第一步:大于10M的resources通过MaxCompute CLI客户端上传,
客户端下载地址:https://help.aliyun.com/document_detail/27971.html
客户端配置AK、EndPoint:https://help.aliyun.com/document_detail/27804.html
add jar C:\test_mr\test_mr.jar -f;//添加资源
第二步:目前通过MaxCompute CLI上传的资源,在Dataworks左侧资源列表是找不到的,只能通过list resources查看确认资源;
list resources;//查看资源
第三步:瘦身Jar,因为Dataworks执行MR作业的时候,一定要本地执行,所以保留个main就可以;
jar
-resources test_mr.jar,test_ab.jar
//resources在客户端注册后直接引用
-classpath test_mr.jar
//瘦身策略:在gateway上提交要有main和相关的mapper和reducer,
额外的三方依赖可以不需要,其他都可以放到resources
com.aliyun.odps.examples.mr.test_mr wc_in wc_out;
通过上述方法,我们可以在Dataworks上跑大于10M的MR作业。
本文为云栖社区原创内容,未经允许不得转载。