开发者学堂课程【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,具体改写输出数据的方法