十四、MapReduce--OutputFormat和RecordWriter抽象类
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,一、基本原理 reduce执行完毕之后,每个reduce都会将KV输出到一个文件中。那么KV输出到文件中时是以什么格式输出的呢?这就涉及到两个抽象类:OutputFormat和RecordWrite
千家信息网最后更新 2025年12月03日十四、MapReduce--OutputFormat和RecordWriter抽象类
一、基本原理
reduce执行完毕之后,每个reduce都会将KV输出到一个文件中。那么KV输出到文件中时是以什么格式输出的呢?这就涉及到两个抽象类:OutputFormat和RecordWriter。
1、OutputFormat
public abstract class OutputFormat { public OutputFormat() { }public abstract RecordWriter getRecordWriter(TaskAttemptContext var1) throws IOException, InterruptedException; public abstract void checkOutputSpecs(JobContext var1) throws IOException, InterruptedException; public abstract OutputCommitter getOutputCommitter(TaskAttemptContext var1) throws IOException, InterruptedException;} 其实主要就是创建RecordWriter对象。
2、RecordWriter
public abstract class RecordWriter { public RecordWriter() { } //将KV写入到输出流 public abstract void write(K var1, V var2) throws IOException, InterruptedException; //关闭流 public abstract void close(TaskAttemptContext var1) throws IOException, InterruptedException;} 主要就是write方法,将KV写入到文件中。
二、常用的OutputFormat实现类
1、TextOutputFormat
继承 FileOutputFormat,返回的RecordWriter是TextOutputFormat.LineRecordWriter。将每个KV转换为文本的每一行。可以定义key和value在文本中的分隔符,默认是"\t"。
2、SequenceFileOutputFormat
同样继承于FileOutputFormat,返回的RecordWriter是一个匿名内部类,直接将所有的KV以追加的方式写入到文本中,不另外分行(除非原先数据中带有换行)。
SequenceFileOutputFormat将它的输出写为一个顺序文件。如果输出需要作为后续 MapReduce任务的输入,这便是一种好的输出格式,因为它的格式紧凑,很容易被压缩。
输出
文件
文本
格式
就是
紧凑
一行
两个
任务
分行
分隔符
原理
对象
常用
数据
方式
方法
顺序
中带
中时
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软件开发和测试方法
树莓派3安装数据库
浙江机械软件开发批发价
网络安全逆向实验
pomelo 数据库持久化
java ie代理服务器
网络安全云鼎大禹系统
数码宝贝服务器连接中断怎么回事
中央关于网络安全的战略
柳州一职校软件开发怎样
美国 网络安全战略报告
hmdd数据库
计算机网络技术第一次月考
博雅数据库湖南文科2018
高新区正规网络技术咨询热线
河南周口软件开发专业
安徽智能软件开发项目信息
建模仅适用于关系型数据库
为什么要提网络安全
电脑软件开发工程师操作过程
哪种数据库属于图数据库
中科软数据库开发环境
上海时元互联网科技公司
余姚市网络安全
王清网络安全
实现小程序获取云服务器图片
贯彻落实网络安全法贯彻落实
河南联想服务器虚拟化优化
vps 饥荒 服务器
净网2019网络安全等级