OutPutFomat 接口实现类 | 学习笔记

简介: 快速学习 OutPutFomat 接口实现类

开发者学堂课程【Hadoop 分布式计算框架 MapReduce:OutPutFomat 接口实现类】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/94/detail/1541


OutPutFomat 接口实现类


内容简介:

一、Outputformat 接口实现类

二、SequencefileOutputFormat

三、根据客户需求 Output

四、使用场景


一、Outputformat 接口实现类

OutputFormate 是 MapReduce 输出的基类,所有实现 MapReduce 输出都实现了 OutputFormat 接口。

下面介绍几种常见的 OutputFormat 实现类

1、文本输出 textoutputformat ,他把每条记录写为文本行。

它的键和值可以是任意类型。

因为 TextOutputFormax 调用 tostring()方法转化为字符串

二、SequencefileOutputFormat

将 SequenceFileOutputFormat 输出作为后续 Mapreduce 任务的输入,这便是一种好的输出格式,因为它的格式紧凑,很容易被压缩.

三、根据客户需求Output

自定义用户需求,自定义实现输出

Output 是输出的基类,所有实现 MapReduce 输出都实现了接口,下面接介绍几款几种常见的 Output 实现类.


1、文本输出

默认的输出的格式是 textOutputFormat,他把每条记录写为文本行。它的键和值可以是任意类型,因为 textputFormat 调用toString() 方法把它们转为字符串

2、SequenceFileFormat

将 SequenceFileOutput 输出作为后续 MapReduce 任务的输出,这便是一种好的输出,因为它格式紧凑,很容易被压缩。

3、自定义 OutputFormat


四、使用场景

1、为了实现控制最终文件的输出路径和输出格式

2、自定义 OutputFormat 的步骤

(1)自定义一个类继承 FileOutputFormat

(2)改写 RecordWriter,具体改写输出数据的方法

相关文章
【JavaSE专栏64】抽象类和接口,不能被实例化的类有什么用?
【JavaSE专栏64】抽象类和接口,不能被实例化的类有什么用?
230 0
|
4月前
|
C# 索引
C# 一分钟浅谈:接口与抽象类的区别及使用
【9月更文挑战第2天】本文详细对比了面向对象编程中接口与抽象类的概念及区别。接口定义了行为规范,强制实现类提供具体实现;抽象类则既能定义抽象方法也能提供具体实现。文章通过具体示例介绍了如何使用接口和抽象类,并探讨了其实现方式、继承限制及实例化差异。最后总结了选择接口或抽象类应基于具体设计需求。掌握这两者有助于编写高质量的面向对象程序。
166 5
|
8月前
|
测试技术 C++
C++零基础教程(抽象类和接口)
C++零基础教程(抽象类和接口)
80 0
|
Dubbo Java 应用服务中间件
没有接口实现类代理
没有接口实现类代理
151 0
没有接口实现类代理
|
SQL 关系型数据库 数据库连接
接口继承|学习笔记
快速学习接口继承,接口只能被类去实现,如果想要规范团队,也不能把所有想要规范的东西写在一个接口里,这样会使接口臃肿,不好实现接口的类,因为有可能并不需要这么多规范。为了使接口的体系更加完整,更加具有结构性,就有了接口继承。本节的目标是理解接口的继承体系,掌握具体的接口继承实现。
接口继承|学习笔记
|
网络协议 测试技术 Go
实现接口和继承比较(1) | 学习笔记
快速学习实现接口和继承比较(1)
实现接口和继承比较(1) | 学习笔记
|
网络协议 测试技术 Go
实现接口和继承比较(2) | 学习笔记
快速学习实现接口和继承比较(2)
实现接口和继承比较(2) | 学习笔记
|
SQL 网络安全 PHP
封装数据库操作类(构造方法)|学习笔记
快速学习封装数据库操作类(构造方法)
|
Java Spring 容器
自定义ApplicationContextInitializer接口实现
自定义ApplicationContextInitializer接口实现
273 0