开发者社区> 哈沙给> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

MapReduce多重MR如何实现

简介: 一、每次输出文件存在很烦人 // 判断output文件夹是否存在,如果存在则删除 Path path = new Path(otherArgs[1]);// 取第1个表示输出目录参数(第0个参数是输入目录) FileSystem fileSystem = path.
+关注继续查看

一、每次输出文件存在很烦人

// 判断output文件夹是否存在,如果存在则删除  
        Path path = new Path(otherArgs[1]);// 取第1个表示输出目录参数(第0个参数是输入目录)  
        FileSystem fileSystem = path.getFileSystem(conf);// 根据path找到这个文件  
        if (fileSystem.exists(path)) {  
            fileSystem.delete(path, true);// true的意思是,就算output有东西,也一带删除  
        }  

二、多重MR

    /设置第一轮MapReduce的相应处理类与输入输出  
        Job job1 = new Job(conf);  
        .
        .
        .
  
        // 定义一个临时目录,先将任务的输出结果写到临时目录中, 下一个job以临时目录为输入目录。  
        FileInputFormat.addInputPath(job1, new Path(otherArgs[0]));  
        Path tempDir = new Path("temp_"  
                + Integer.toString(new Random().nextInt(Integer.MAX_VALUE)));  
        FileOutputFormat.setOutputPath(job1, tempDir);  
  
        if (job1.waitForCompletion(true)) {//如果第一轮MapReduce完成再做这里的代码  
            Job job2 = new Job(conf);  
            FileInputFormat.addInputPath(job2, tempDir);  
            //设置第二轮MapReduce的相应处理类与输入输出  
            .
            .
            FileOutputFormat.setOutputPath(job2, new Path(otherArgs[1]));  
            
            FileSystem.get(conf).deleteOnExit(tempDir);//搞完删除刚刚的临时创建的输入目录  
            System.exit(job2.waitForCompletion(true) ? 0 : 1);  
        }          

  

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
【月刊】E-MapReduce 2021-11 产品月刊
11月 E-MapReduce 产品月刊为您带来 1.重要功能 2.版本发布 3.产品文档更新 4.十一月精选文章推荐。欢迎持续关注更多精彩内容!
190 0
【月刊】E-MapReduce 2021-08 产品月刊
8月 E-MapReduce 产品月刊为您带来 1.相关活动:大数据开发平台用户调研问卷 ;2.产品功能更新:EMR ClickHouse 独立集群公测发布 ;3.最佳实践 E-MapReduce 本地盘实例大规模数据集测试 。欢迎持续关注更多精彩内容!
292 0
E-MapReduce 4.0产品新特性
E-MapReduce是运行在阿里云平台上的一大数据处理的系统解决方案。在2019年10月,阿里巴巴将发布EMR4.0版本。本篇介绍EMR4.0的新特性,包括在EMR基础能力,技术栈,生态集成和数据迁移等方面的升级,EMR4.0为用户提供更高的计算性能和更低的产品价格,将技术的红利让给用户。
5846 0
大数据||MapReduce的shuffle
mapreduce的数据处理过程中,shuffle出于map和Reduce之间。 Shuffle:洗牌或弄乱。 Collections.shuffle(List):随机地打乱参数list里的元素顺序。
994 0
E-MapReduce大数据平台
1. 产品介绍 E-MapReduce 是构建于阿里云 ECS 弹性虚拟机之上,利用开源大数据生态系统,包括 Hadoop、Spark、Kafka、Storm,为用户提供集群、作业、数据等管理的一站式大数据处理分析服务。
1318 0
梨视频:基于阿里云E-MapReduce搭建视频推荐系统的实践
深度解答:梨视频如何基于阿里云快速搭建一个套推荐系统?
3880 0
Introduce
A DECADE AGO, at the University of Pennsylvania vet school, I sat on a linoleum floor stroking my dog’s head. She was in the 16th of what would become a 20-year life, and she’d just had a sm
1832 0
E-Mapreduce如何处理RDS的数据
目前网站的一些业务数据存在了数据库中,这些数据往往需要做进一步的分析,如:需要跟一些日志数据关联分析,或者需要进行一些如机器学习的分析。在阿里云上,目前E-Mapreduce可以满足这类进一步分析的需求。
4763 0
+关注
哈沙给
渣渣一枚
1101
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载