Hadoop内置的数据输入\输出格式与RecordReader\RecordWriter(九)
来源:互联网 发布:淘宝的同仁堂是真的吗 编辑:程序博客网 时间:2024/05/21 14:55
理论和源代码分析:
一,数据输入格式(InputFormat)用于描述MapReduce的作业 数据输入规范。MapReduce框架依靠数据输入格式完成输入 规范检查(比如输入文件的目录的检查),对数据文件进行输入分块(InputSplit),以及提供从输入分块中 将数据逐一读出,并转换为,Map过程的输入键值对等功能。最常用的数据输入格式:TextInputFormat和KeyValueTextInputFormat 1,TextInputFormat是系统默认的数据输入格式,可以 将文本文件分块并逐行读入以便Map节点进行处理。读入一行时 所产生的主键key就是当前在整个文本文件中的字节偏移位置, 而value就是该行的内容。 KeyValueTextInputFormat是可将一个按照<key,value>格式逐行 存放的文本文件逐行读出,并自动解析生产相应的的key和value. 对于一个数据输入格式(TextInputFormat和KeyValueTextInputFormat) ,都需要有一个对应的RecordReader方法。RecordReader主要用于将一个 文件中的数据记录分拆成具体的键值对,传送给Map过程作为键值对 输入参数。每个数据输入格式都有输入格式有一个默认的RecordReader。 1,TextInputFormat的默认RecordReader是LineRecordReader。 2,KeyValueTextInputFormat的默认RecordReader是KeyValueLineRrcordReader二,数据输出格式(OutputFormat)用于描述MapReduce作业的数据输出规范。MapReduce框架依靠数据格式完成输出规范检查(如检查输出目录是否存在)以及提供作业数据输出等功能。 最常用的数据输出格式是TextOutputFormat,也是系统默认的数据输出格式 可以将计算结果以"key+\t+value"的形式输出到文本文件中。 数据输出格式也提供一个对应的RecordWriter,以便系统明确输出结果写入到 文件中的具体格式。TextInputFormat的默认RecordWriter是lineRecordWriter 也是将计算结果以"key+\t+value"的形式输出到文本文件中。
查看KeyValueTextInputFormat源码:
1,点击KeyValueTextInputFormat.class进入源码:
2,在KeyValueTextInputFormat类中找到RecordReader方法点击
KeyValueLineRecordReader进入到KeyValueLineRecordReader类
3,查看具体的KeyValueLineRecordReader方法:
输出数据格式的源码也类似以上的查看,可以根据源码的内容自定义,自己的输入输出格式。
0 0
- Hadoop内置的数据输入\输出格式与RecordReader\RecordWriter(九)
- 【转】Hadoop自定义输入与输出格式
- 格式的输入与输出
- hadoop输入和输出格式
- Hadoop RecordReader
- Hadoop之MapReduce输入与输出格式(五)
- 数据的输入与输出
- 数据的输入与输出
- 《Hadoop实战》的笔记-2、Hadoop输入与输出
- 《Hadoop实战》的笔记-2、Hadoop输入与输出
- Hadoop源码学习之-----Mapreduce输入流:InputFormat,InputSplit,RecordReader
- C语言数据的输入与输出
- Hadoop自定义RecordReader
- Hadoop自定义RecordReader
- Spring MVC 学习笔记 九 json格式的输入和输出
- Spring MVC 学习笔记 九 json格式的输入和输出
- Spring MVC 学习笔记 九 json格式的输入和输出
- MapReduce类型与格式(输入与输出)
- 使用负载均衡之后的Session处理思路
- vtk实战(三十)——写入vtu数据
- LightOJ 1042 Secret Origins【位运算】
- JDK动态代理示例
- ACM--BFS--图--nyoj 20--吝啬的国度
- Hadoop内置的数据输入\输出格式与RecordReader\RecordWriter(九)
- 网页缩放
- 【LeetCode】Perfect Squares 解题报告
- 应用层数据库读写分离--续
- java语法break、continu、label语句
- nova boot代码流程分析(三):nova与neutron的plugin交互
- Android 监听短信内容变化,并发送到自己的手机
- Spring Aop原理分析(二) - Aop的拦截器和通知
- IOS推送PEM生成