十四、MapReduce--OutputFormat和RecordWriter抽象类
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,一、基本原理 reduce执行完毕之后,每个reduce都会将KV输出到一个文件中。那么KV输出到文件中时是以什么格式输出的呢?这就涉及到两个抽象类:OutputFormat和RecordWrite
千家信息网最后更新 2025年02月01日十四、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安全错误
数据库的锁怎样保障安全
服务器行业投资策略
服务器虚拟域名配置
云冈区智能化网络安全质量服务
服主如何在服务器里做32k
数据库系统概念的理解
华为企业代理服务器
5G赋能软件开发应知应会
软件开发人员等级评定
服务器新建管理员账户
软件开发人员有发展前途吗
剑灵和服务器断开连接
软件开发方叫什么
重庆储存服务器虚拟主机
计科软件开发实施测试
国际软件开发比赛
mysql创建数据库关键词
博思监听服务器
网络安全突发事件应急响应
网络安全工作机制乡镇
数据库表 没有主键
dns服务器备份
调查网络安全工作
网络安全公司方针
最可怕的网络安全工作
未能找到主机服务器
管理软件开发需求
服务器硬件组成pdf
医院软件开发岗位要求高吗
一念逍遥老连不上服务器
架设服务器备案