Hadoop之InputFormat接口的设计与实现
来源:互联网 发布:2017年淘宝双十一报名 编辑:程序博客网 时间:2024/06/05 07:47
InputFormat主要用于描述输入数据的格式,它提供以下连个功能
1.数据切分:按照某个规则策略将输入的数据切分成若干个split,以便确定Map Task的个数以及对应的split
2.为Mapper提供输入数据:给定某个split,能将其解析成一个个的key/value对
inputFormat包含两个方法
InputSplit[] getSplits(JobConf job,int numSplits) throws IOException;
RecordReader<k,v> getRecordReader(InputSplit split,JobConf job,Reporter reporter) throws IOException;
getSplits主要完成数据的切分功能,他会将输入的数据切分成numSplits个inputSplit,inputSplit有以下两个特点
1.逻辑切分:它至少在逻辑上切分输入的数据,并不会再磁盘上将其切分存储,InputSplit只记录切分之后分片的元数据信息,比如起始位置长度以及所在节点列表等
2.可序列化:在Hadoop中,对象的序列化主要有两个作用,进程间通信和永久存储。InputSplit的可序列化主要是为了进程间的通讯。作业提交到JobTracker之前, Client会调用作业的InputFormat中的getSplits方法,并且将得到的InputSplit序列化到文件中。当JobTracker对提交上来的作业初始化的时候可以直接读取该文件,然后解析所有的InputSplit并且创建MapTask
getRecordReader方法返回一个RecordReader对象,该对象将输入的InputSplit解析成若干个key/value对,MapReduce框架在Map Task执行过程中,会不断的调用RecordReader对象中的方法,迭代获取key/value对并交给map函数处理。
- Hadoop之InputFormat接口的设计与实现
- Hadoop 之 InputFormat
- Hadoop MapReduce编程模型之InputFormat接口学习
- 自定义hadoop的inputformat
- 自定义hadoop的InputFormat
- Hadoop编程模型之InputFormat
- Hadoop自定义 inputformat 和outputformat 实现图像的读写
- 关于Hadoop的InputFormat类
- 关于Hadoop的InputFormat类
- Hadoop的InputFormat和OutputFormat
- hadoop的InputFormat简单demo
- Hadoop 自定义InputFormat实现自定义Split
- Hadoop 自定义InputFormat实现自定义Split
- hadoop 之 InputFormat类 --- KeyValueTextInputFormat 实例
- hadoop 之 InputFormat类 --- NLineInputFormat 实例
- Hadoop系列之InputFormat,OutputFormat用法
- Hadoop开发常用的InputFormat和OutputFormat
- Hadoop开发常用的InputFormat和OutputFormat
- 【Windows 7减肥 清理和关闭多余的系统服务】
- 测试机器的硬件信息
- QT窗体间传值之全局变量
- MonoDroid学习笔记(二)—— 让你的App在你的手机上跑起来
- DataGridView标题的设置
- Hadoop之InputFormat接口的设计与实现
- 用Cocos2d-x和libvlc写一个跨平台播放器
- hive基础学习文档和入门教程
- MonoDroid学习笔记(三)—— 浅析Hello World程序及增添一些新的代码
- 安捷伦推出用于卫星通信和导航的系统设计工具
- 文件内容替换 :SED 命令 和 Perl
- 查看文件大小
- Linux中命令行下查看硬件信息及系统版本
- 软件版本如何的定义