`
luoshi0801
  • 浏览: 147678 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Hdfs之DistributedCache

 
阅读更多

在利用mapred分析大数据时,程序中常常会引入hdfs上一些“辅助数据”,通常的做法在mr的启动前加载这些数据形成cache以提高效率,而mr在大并发下去访问hdfs的同一文件可能存在性能瓶颈,DistributedCache可以帮助解决。

       DistributedCache</code> is a facility provided by the Map-Reduce framework to cache files (text, archives, jars etc.) needed by applications.

 

添加cacheFile:

                    DistributedCache.addFileToClassPath(new Path(args[2]), conf);

cacheFile通过hadoop命令参数提供,args[2]是/group/tlog/resources/ipAppMapping.txt

 

在mapper或reducer中使用:

        @Override
        protected void setup(Context context) throws IOException, InterruptedException {
            Path[] localArchives = DistributedCache.getFileClassPaths(context.getConfiguration());
            FileSystem fs = FileSystem.get(context.getConfiguration());
            InputStream in;
            if (localArchives == null) {
                System.out.println("Load refources file form system class loader.");
                in = ClassLoader.getSystemResourceAsStream("ipAppMapping.txt");
            } else {
                in = fs.open(localArchives[0]);
            }
            if (in == null) {
                throw new RuntimeException("Resource file is not exist.");
            }
            BufferedReader reader = new BufferedReader(new InputStreamReader(in));
            //加载辅助数据
            reader.close();
        }

 

 

 

 

      

分享到:
评论

相关推荐

    DistributedCache类使用

    2. **添加文件路径到Job**: 在创建`Job`对象时,使用`DistributedCache.addCacheFile()`方法将HDFS上的文件路径添加到缓存列表中。 3. **在任务中访问文件**: 通过`DistributedCache.getLocalCacheFiles...

    spark 统计图表【在已有集群环境下】操作

    2. **使用DistributedCache机制**:这种方式更为灵活,因为它只需要将JDBC jar包上传至Hadoop集群的分布式文件系统(HDFS)中的`/lib`目录即可,通过以下代码确保集群中所有节点都能使用这个jar包: ```java ...

    基于Hadoop的研究及性能分析 (2).docx

    6. DistributedCache技术的应用:DistributedCache是一种基于MapReduce的改进算法,通过减少mapper输出的数据来达到优化的目的。 7. 大数据时代的特征:大数据时代的到来,使得数据的存储和处理变得越来越复杂。...

    00-大数据技术之高频面试题+汇总.pdf

    5. Shuffle及优化:了解Shuffle的过程和优化方法,例如使用Combiner、使用DistributedCache等。 6. Yarn工作机制:了解Yarn的工作机制,包括ResourceManager、ApplicationMaster、Container等。 7. Yarn调度器:了解...

    Hadoop实战-第二版-陆嘉恒 (2012版)

    1. Hadoop简介2.... Hadoop在yahoo的应用附录A: 云计算在线监测平台附录B: Hadoop安装、运行、使用说明附录C:使用DistributedCache的MapReduce程序附录D:使用ChainMapper和ChainReducer的MapReduce程序

    Hadoop实战-第2版-陆嘉恒.pdf

    1. Hadoop简介2.... Hadoop在yahoo的应用附录A: 云计算在线监测平台附录B: Hadoop安装、运行、使用说明附录C:使用DistributedCache的MapReduce程序附录D:使用ChainMapper和ChainReducer的MapReduce程序

    基于Hadoop的研究及性能分析.docx

    根据 IDC 最近的报告,到 2020 年,全球数据量将扩大 50 倍之多。大数据的特征使得传统数据库技术无法满足大数据的存储和处理要求,而 Hadoop 技术的出现解决了这些问题。 三、MapReduce 工作原理 MapReduce 是 ...

    基于Hadoop的研究及性能分析.pdf

    Hadoop使用HDFS(Hadoop Distributed File System)来存储数据,HDFS是一个分布式文件系统,能够存储大量数据。 MapReduce的工作原理 MapReduce是Hadoop的核心技术,负责将复杂的计算任务分解成多个小任务,以便...

    各种集群框架知识扩展.pdf

    HBase是一个开源的非关系型分布式数据库(NoSQL),它建立在Hadoop之上,提供了对大数据的随机实时读写访问。HBase数据库介绍包括它如何使用HDFS存储数据,以及它的主从架构设计。HBase集群结构包括Master和...

    我的面试题

    上传后,这些数据会被 DistributedCache 缓存,确保同一计算节点不会重复下载相同的作业文件。 4. **提交作业至 ResourceManager**:客户端向 `ResourceManager` 提交作业,提交的信息同样包括 Job ID 和作业所在 ...

    基于Hadoop的研究及性能分析 (2).pdf

    最后,分析了MapReduce框架的通用二路连接算法RSJ,并提出了基于DistributedCache的改进算法,以减少mapper输出的数据来达到优化的目的。 关键词:Hadoop、MapReduce、性能、算法 1. 绪论 伴随互联网和Web技术的...

    my document

    上传后,这些数据会被 DistributedCache 缓存。 3. **提交作业**:客户端向 `ResourceManager` 提交作业,提交的信息包括 `jobID` 和 HDFS 文件目录等基本信息。`ResourceManager` 不直接接收计算数据和资源数据,...

    基于Hadoop的研究及分析性能

    Hadoop的核心组件包括Hadoop分布式文件系统(HDFS)和MapReduce,这两个组件共同解决了海量数据的存储和处理问题。 【MapReduce工作原理】 MapReduce是一种编程模型,用于处理和生成大数据集。它分为两个主要阶段...

    通用大数据存储与分析处理平台_Hadoop.docx

    - **DistributedCache**:分布式缓存,提高作业执行效率。 - **作业**:Hadoop中的任务单元。 - **集群规模**:根据需求调整集群的大小。 - **网络拓扑**:优化网络架构以提升性能。 - **环境设置**:配置Hadoop运行...

    Hadoop分布式Cache

    DistributedCache 是一个提供给Map/Reduce框架的工具,用来缓存文件(text, archives, jars and so on)文件的默认访问协议为(hdfs://). DistributedCache将拷贝缓存的文件到Slave节点在任何Job在节点上执行之前。 ...

    6.Hadoop入门进阶课程_第6周_MapReduce应用案例.pdf

    在这种场景中,小表可以直接放入内存,通过DistributedCache类将小表复制多份,每个map任务执行时,内存中都有小表的一份副本,从而避免了不必要的数据传输,优化了join操作。 为了便于读者理解和操作,文档还介绍...

    通用大数据存储和分析处理平台-Hadoop.docx

    - **DistributedCache**:Hadoop的功能,用于缓存文件到各个工作节点,提高效率。 - **Hadoop档案**:归档工具,用于合并小文件以优化HDFS的存储效率。 - **安全性**:Hadoop支持安全模式,提供了权限管理、身份...

Global site tag (gtag.js) - Google Analytics