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

Hadoop之OutputFormat

 
阅读更多

版本:

2.2版

 

描述:

OutputFormat是设置MR的结果输出写操作格式,包括如何写?写那?也就是定义写规则

 

类代码:

抽象类定义:

 

public abstract RecordWriter<K, V> getRecordWriter(
		TaskAttemptContext context) throws IOException,
		InterruptedException;

public abstract void checkOutputSpecs(JobContext context)
		throws IOException, InterruptedException;

public abstract OutputCommitter getOutputCommitter(
		TaskAttemptContext context) throws IOException,
		InterruptedException;

获取RecordWriter定义了写的具体操作,那么他抽象的方法如下:

 

 

public abstract void write(K key, V value) throws IOException,
		InterruptedException;

public abstract void close(TaskAttemptContext context) throws IOException,
		InterruptedException;

也就是具体的写和资源关闭操作,比如LineRecordWriter那么他就是基于Key和Value分割然后直接写的操作
在OutputCommitter中定义了跟MRjob执行情况的一些操作,比如job启动,job失败等,其抽象操作如下:

public abstract void setupJob(JobContext jobContext) throws IOException;

@Deprecated
public void cleanupJob(JobContext jobContext) throws IOException {
}

public void commitJob(JobContext jobContext) throws IOException {
	cleanupJob(jobContext);
}

public void abortJob(JobContext jobContext, JobStatus.State state)
		throws IOException {
	cleanupJob(jobContext);
}

public abstract void setupTask(TaskAttemptContext taskContext)
		throws IOException;

public abstract boolean needsTaskCommit(TaskAttemptContext taskContext)
		throws IOException;

public abstract void commitTask(TaskAttemptContext taskContext)
		throws IOException;

public abstract void abortTask(TaskAttemptContext taskContext)
		throws IOException;

public boolean isRecoverySupported() {
	return false;
}

public void recoverTask(TaskAttemptContext taskContext) throws IOException {
}

在写的操作中需要核实资源是否够用,资源是否合理被操作等操作都是在checkOutputSpecs中进行的

 

 

 

0
0
分享到:
评论

相关推荐

    MapReduce之自定义OutPutFormat.md

    MapReduce之自定义 OutPutFormat,通过一个案例,实现自定义的一个OutPutFormat,来更加的深刻的理解MR的过程

    hadoop2lib.tar.gz

    例如,使用Hadoop的InputFormat和OutputFormat接口,开发者可以定义自定义的数据输入和输出格式。同时,Hadoop的Configuration类使得配置参数变得简单,而FileSystem API则允许开发者操作HDFS上的文件。 在实际开发...

    实战hadoop中的源码

    7. **扩展性与插件开发**:学习如何为Hadoop开发自定义InputFormat、OutputFormat、Partitioner、Combiner等组件。 8. **实战项目**:结合实际案例,运用所学知识解决大数据处理问题,如日志分析、推荐系统等。 ...

    尚硅谷大数据技术之Hadoop

    【尚硅谷大数据技术之Hadoop】是一门深入探讨大数据处理技术的课程,主要聚焦于开源框架Hadoop。Hadoop是Apache软件基金会开发的一个分布式计算项目,它为大规模数据集(大于1TB)提供了高容错性的分布式存储和计算...

    【MapReduce篇04】MapReduce之OutputFormat数据输出1

    在Hadoop MapReduce框架中,OutputFormat扮演着至关重要的角色,它是定义如何将Mapper和Reducer产生的中间结果转化为最终输出格式的规范。MapReduce之OutputFormat数据输出主要涉及到以下几个方面: 1. **...

    hadoop 文档:Hadoop开发者下载

    4. **Hadoop API**:学习使用Hadoop API进行数据读写和处理,例如FileSystem API用于文件操作,InputFormat和OutputFormat定义输入输出格式,Mapper和Reducer实现数据处理逻辑。 5. **MapReduce编程**:理解...

    hadoop-3.1.3-src.tar.gz

    - **Hadoop API**:学习如何使用Hadoop API开发MapReduce程序,理解和使用InputFormat、OutputFormat、Mapper、Reducer等关键类。 - **本地模式**:开发者可以在单机上运行Hadoop,进行快速测试和调试,无需真实...

    hadoop-common-2.7.1-bin-master.zip

    4. **I/O库和接口**:Hadoop Common还提供了各种I/O接口和类,如InputFormat和OutputFormat接口,用于定义数据读取和写入的方式;RecordReader和RecordWriter,处理输入和输出记录的类;以及各种压缩和编码算法,如...

    hadoop2.7.3源码包,hadoop2.7.3zip源码包

    同时,源码包也方便了开发者进行扩展和优化,例如自定义InputFormat、OutputFormat、Partitioner、Reducer等,以适应特定的业务需求。 此外,由于这个源码包是基于Maven结构生成的,所以它应该包含了所有依赖项的...

    Hadoop源码分析 第一章 Hadoop脚本

    然后逐步深入源码,结合实际案例分析,例如研究如何自定义InputFormat、OutputFormat、Mapper和Reducer等组件。此外,熟悉Java编程语言和面向对象设计是必不可少的,因为Hadoop主要用Java实现。 总之,Hadoop脚本的...

    hadoop2.7.2 之 snappy压缩支持包.zip

    Hadoop中的压缩机制是通过InputFormat和OutputFormat接口来实现的,它们允许用户选择不同的压缩编码器。Snappy压缩支持包就是提供了这种编码器,使得Hadoop能够以Snappy格式进行数据压缩和解压缩。通常,Hadoop会将...

    Hadoop-0.20.1+API

    3. **MapReduce API**:掌握如何编写Mapper和Reducer类,理解InputFormat、OutputFormat以及Partitioner的工作原理,以及JobConf配置的使用。 4. **Hadoop配置**:了解如何通过XML配置文件设置Hadoop集群参数,例如...

    Hadoop实现大矩阵乘法

    1. Hadoop的MapReduce编程模型,包括InputFormat、Mapper、Partitioner、Reducer和OutputFormat等组件的作用。 2. Java的IO流和序列化,因为数据需要在网络间传输和持久化。 3. 分布式计算中的数据分区和排序,这...

    hadoop-lzo-master.zip

    Hadoop-LZO不仅提供了对LZO压缩格式的支持,还包含了用于Hadoop的InputFormat和OutputFormat,使得Hadoop可以直接处理LZO压缩的数据。 二、LZO压缩算法 LZO(Lempel-Ziv-Oberhumer)是一种实时数据压缩算法,它...

    Hadoop的jar包

    5. **Hadoop二次开发**:对于想要开发Hadoop插件或扩展的程序员来说,这些jar包提供了必要的API和类库,如InputFormat和OutputFormat接口,用于定义数据的读取和写入方式。 6. **Hadoop生态系统组件**:Hadoop不...

    Hadoop高级编程- 构建与实现大数据解决方案

    在大数据处理领域,Hadoop是不可或缺的核心技术之一。作为一个开源框架,Hadoop为海量数据的存储、处理和分析提供了高效且可扩展的解决方案。本文将深入探讨“Hadoop高级编程——构建与实现大数据解决方案”这一主题...

    hadoop 入门

    InfoQ 提供的相关资料如"InfoQ Hadoop基本流程与应用开发"、"InfoQ 分布式计算开源框架Hadoop介绍"和"InfoQ Hadoop中的集群配置和使用技巧"将帮助你深入学习这些主题,为你的Hadoop之旅提供坚实的理论基础和实践指导...

    Hadoop Real-World Solutions Cookbook 源代码

    2. **Chap 2 - 数据输入与输出**:这章可能包含如何使用Hadoop的InputFormat和OutputFormat类来定义数据的读取和写入方式。读者可以学习如何自定义输入分片(Splits)和Mapper/Reducer任务。 3. **Chap 3 - ...

    elasticsearch-hadoop-2.4.0.zip

    这个库提供了Hadoop InputFormat、OutputFormat、RecordReader和RecordWriter,使得Elasticsearch可以作为Hadoop作业的数据源和目标。 在Hadoop 2.4.0版本中,引入了一些关键改进,如YARN(Yet Another Resource ...

Global site tag (gtag.js) - Google Analytics