`
小网客
  • 浏览: 1241254 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Hadoop中map reduce和client共享数据源的方式

 
阅读更多

需求:

hadoop执行mr job的时候需要在map reduce 以及client三处相互共享数据比如在map某阶段设置一个标记位让reduce知道。

方案:

1.由于Configuration在client提交之后修改就无效了,因此不能基于Configuration来实现,那么可以通过三份数据源来实习比如db file等

2.基于hdfs

实现:

基于hdfs写文件实现,核心代码如下:

client read操作:

Path flagPath = new Path("/hadoop/flag");
if (hdfs.exists(flagPath)) {
	hdfs.delete(flagPath, true);
}
.......your biz.........
boolean isCircleEnd = false;
if (hdfs.exists(flagPath)) {
	FSDataInputStream fdis = hdfs.open(flagPath);
	isCircleEnd = fdis.readBoolean();
	fdis.close();
}

 

其他写操作:

FSDataOutputStream fdos = FileSystem
		.get(context.getConfiguration()).create(
				new Path("/hadoop/flag"));
fdos.writeBoolean(true);
fdos.flush();
fdos.close();

 

 

0
1
分享到:
评论

相关推荐

    Hadoop源码分析(client部分)

    7. **Google ProtoBuf源代码分析**:了解Google的ProtoBuf是如何实现高效的序列化和反序列化,有助于提高Hadoop应用程序的性能。 综上所述,Hadoop不仅是一个强大的数据处理框架,而且其内部机制和技术也值得深入...

    Hadoop源代码分析

    1. JobTracker:在源代码中,`org.apache.hadoop.mapred.JobTracker`负责调度任务,监控TaskTracker的状态,并分配Map和Reduce任务。JobTracker管理作业的生命周期,包括初始化、监控和完成。 2. TaskTracker:每个...

    hadoop-src源代码

    Hadoop作为大数据处理领域的基石,其源代码是学习分布式计算、数据存储和管理的宝贵资源。"hadoop-src"压缩文件包含了Hadoop项目的所有源代码,使得开发者能够直接在Eclipse等Java开发工具中进行深入研究和开发。 ...

    Hadoop从入门到上手企业开发

    近百节课视频详细讲解,需要的小伙伴自行百度网盘下载,链接见附件,...064 源代码跟踪查看Map Task和Reduce Task数目的个数 065 回顾MapReduce执行过程以及MapReduce核心 066 Hadoop MapReduce框架数据类型讲解 067

    Hadoop-0.20.1+API

    6. **Hadoop数据流**:学习数据是如何从输入源经过map任务,shuffle过程,再到达reduce任务的,以及中间键值对的分区和排序机制。 7. **Hadoop容错机制**:理解Hadoop如何处理硬件故障,包括数据块的复制策略,节点...

    hadoop源代码code归档整理

    源代码中可以找到如`org.apache.hadoop.hdfs.server.namenode.FSNamesystem`和`org.apache.hadoop.hdfs.server.datanode.DataNode`等关键类,它们负责文件系统的管理和数据存储。 2. MapReduce模块:主要关注`org....

    hadoop 的原型 google三大论文

    Hadoop的MapReduce框架便是对这一模型的实现,它包含了一个JobTracker(调度器)和TaskTracker(任务执行器)来管理和执行Map和Reduce任务。 这三篇论文共同构建了Google处理大规模数据的基础架构,而Hadoop则是这...

    hadoop source code源代码归档

    源代码中,`MapTask`和`ReduceTask`分别对应这两个阶段,`InputFormat`和`OutputFormat`定义了数据的输入和输出格式。 3. **YARN**:作为Hadoop的资源管理系统,YARN负责调度计算资源,确保任务高效执行。`...

    hadoop2.7.2源码包

    源码中,`hadoop-hdfs-project`目录包含了HDFS的所有源代码,包括NameNode、DataNode和Client等模块,可以了解数据的存储、复制和故障恢复策略。 2. **MapReduce**:Hadoop的另一个核心组件,用于大规模数据集的...

    hadoop2.7 source code

    - TaskTracker(在YARN中被NodeManager替代):执行Map和Reduce任务。同样,2.7中,TaskTracker被NodeManager代替,负责任务容器的管理和监控。 - Mapper:源代码在`hadoop-mapreduce-project/hadoop-mapreduce-...

    Hadoop生态系统概览

    它支持多种数据源和目的地,非常适合日志数据的采集和传输。 ##### 3.8 Oozie Oozie是一个工作流调度系统,用于在Hadoop中协调和调度复杂的数据处理工作流。它可以自动管理多个任务之间的依赖关系,简化了大数据...

    Hadoop学习总结.doc

    ### Hadoop 学习总结 #### 一、HDFS简介 **1.1 数据块(Block)** ...通过对HDFS和MapReduce的学习,不仅可以了解如何存储和处理大规模数据,还可以进一步探索Hadoop生态系统中的其他组件和技术。

    php hadoop源码

    在大数据处理领域,Hadoop是一个不可或缺的开源框架,它提供了分布式存储和计算的能力。而将PHP与Hadoop相结合,可以让我们利用PHP这门广泛使用的Web开发语言来处理大规模数据。本压缩包“HadooPHP-master”很可能是...

    hadoop2.6.5源码zip

    源码中的`org.apache.hadoop.hdfs`包包含了NameNode、DataNode、DFSClient等关键组件,它们负责元数据管理、数据块的存储和读取。 3. **YARN(Yet Another Resource Negotiator)**:从Hadoop 2.x开始,YARN成为新...

    Hadoop-2.2.0源码包

    它包括JobTracker(已废弃,2.x版本中被ResourceManager取代)、TaskTracker(已废弃,由NodeManager取代)和Task(Map任务和Reduce任务)等组件。此外,还有Client API,用于编写MapReduce应用程序。 4. **hadoop-...

    MR.rar_hadoop_mapReduce_paidabk

    6. **源码分析**:压缩包中的“MR”可能是MapReduce项目的源代码,开发者可以研究这些代码来理解如何使用Java或其他支持的语言编写Map和Reduce函数,以及如何配置和提交作业到Hadoop集群。 通过学习这个压缩包中的...

    如何使用eclipse调试Hadoop作业

    在IT行业中,尤其是在大数据处理领域,Hadoop是一个不可或缺的关键组件。Eclipse作为一款强大的Java集成开发环境,为开发者提供了丰富的工具来调试Java应用程序,包括基于Hadoop的作业。本篇文章将详细阐述如何利用...

    hadoop开发所需类

    在压缩包文件"org"中,可能包含了Hadoop相关的源代码或库文件,这些通常是Hadoop项目的组成部分,如`org.apache.hadoop.*`包下的各种类,它们提供了Hadoop的核心功能和接口。通过深入研究这些源代码,开发者可以更好...

    hadoop源码

    这个“hadoop源码”压缩包可能包含了Hadoop项目的源代码,尤其是“common”子模块,这通常是Hadoop的基础通用模块,包含了很多Hadoop系统中的共通组件和服务。 Hadoop的源码分析可以从以下几个方面展开: 1. **...

Global site tag (gtag.js) - Google Analytics