- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
writable解读writable解读
[Hadoop源码解读](五)MapReduce篇之Writable相关类 分类:Hadoop源码解读 2012-08-26 12:12 870人阅读评论(1) 收藏举报? 昨天出去玩了,今天继续。? 前面讲了InputFormat,就顺便讲一下Writable的东西吧,本来应当是放在HDFS中的。? 当要在进程间传递对象或持久化对象的时候,就需要序列化对象成字节流,反之当要将接收到或从磁盘读取的字节流转换为对象,就要进行反序列化。Writable是Hadoop的序列化格式,Hadoop定义了这样一个Writable接口。[html]view plaincopyprint?public?interface?Writable?{????void?write(DataOutput?out)?throws?IOException;????void?readFields(DataInput?in)?throws?IOException;??}??public interface Writable { void write(DataOutput out) throws IOException; void readFields(DataInput in) throws IOException;}一个类要支持可序列化只需实现这个接口即可。下面是Writable类得层次结构,借用了Hadoop:The Definitive Guide的图。? ? ?下面我们一点一点来看,先是IntWritable和LongWritable。? ? ? ? ??WritableComparable接口扩展了Writable和Comparable接口,以支持比较。正如层次图中看到,IntWritable、LongWritable、ByteWritable等基本类型都实现了这个接口。IntWritable和LongWritable的readFields()都直接从实现了DataInput接口的输入流中读取二进制数据并分别重构成int型和long型,而write()则直接将int型数据和long型数据直接转换成二进制流。IntWritable和LongWritable都含有相应的Comparator内部类,这是用来支持对在不反序列化为对象的情况下对数据流中的数据单位进行直接的,这是一个优化,因为无需创建对象。看下面IntWritable的代码片段:[html]view plaincopyprint?public?class?IntWritable?implements?WritableComparable?{????private?int?value;???????//……?other?methods????public?static?class?Comparator?extends?WritableComparator?{??????public?Comparator()?{????????super(IntWritable.class);??????}????????public?int?compare(byte[]?b1,?int?s1,?int?l1,?????????????????????????byte[]?b2,?int?s2,?int?l2)?{????????int?thisValue?=?readInt(b1,?s1);????????int?thatValue?=?readInt(b2,?s2);????????return?(thisValuethatValue???-1?:?(thisValue==thatValue???0?:?1));??????}????}??????static?{????????????????????????????????????????//?register?this?comparator??????WritableComparator.define(IntWritable.class,?new?Comparator());????}??}??public class IntWritable implements WritableComparable { private int value; //…… other methods public static class Comparator extends WritableComparator { public Comparator() { super(IntWritable.class); } public int compare(byte[] b1, int s1, int l1,
您可能关注的文档
- VMware产品线介绍(2014最新).doc
- VMware装XP虚拟机时,总是出现OPERATING system not found 字样.docx
- VOA20140703 试题(自编).doc
- VOA专有名词.doc
- Vocabularies 单词表.doc
- Voa慢速英语基础核心词汇1500个(带有音标中文解释)2.doc
- VOA慢速英语听力原文09月28到30号.docx
- Vocabulary teaching strategies for middle school student1.doc
- Vocabulary.doc
- Vocabulary Mnemonics strategies1.doc
- 20251216-创元期货-甲醇年度报告_海外负荷定节拍_烯烃承压抑醇价_27页_1mb.docx
- 20251216-创元期货-铝产业链2026年度报告_供需缺口放大_产业利润分配格局走向极端_29页_1mb.docx
- 20251215-创元期货-豆粕年度报告_在中美博弈与天气扰动中继续寻底_28页_2mb.docx
- 2025人口结构变迁与科技创新十字路下的投资机会新前沿研究报告_56页_1mb.docx
- 20251222-东证期货-螺纹钢_热轧卷板年度报告_波澜不惊_蓄势新生_27页_10mb.docx
- 20251224-东证期货-股指期货年度报告_2026_经济温和修复_股市长牛继续_25页_6mb.docx
- 20251222-北京鼎唯企业管理咨询-中国太空算力战略部署研究报告_19页_8mb.docx
- 20251223-硕远咨询-2025年中国餐饮连锁行业市场研究报告_25页_1mb.docx
- 20251224-东证期货-锌年度报告_渊龙寻底_待势而升_35页_14mb.docx
- 20251215-创元期货-多晶硅年度报告_不积_硅_步_何以至千里_34页_1mb.docx
最近下载
- 失业证明模板.doc VIP
- 铁路桥下工业煤柱安全开采技术与研究.pdf VIP
- 凉山州2021-2022学年四年级数学(上册)期末试题.doc VIP
- 芳纶新材料国产化项目一期(3000吨高性能芳纶纤维)环评报告.docx VIP
- 4.1.1 原电池的工作原理课件 2025年高二化学人教版(2025)选择性必修1(共39张PPT)(含音频+视频).pptx VIP
- 专利技术交底书撰写范本计算机.doc VIP
- 八轴和谐号(HXD1型)机车使用说明.doc VIP
- 铁路桥下工业煤柱安全开采技术的多维度解析与实践策略.docx VIP
- 夏季行车安全培训考试.docx VIP
- 手术室感控知识考试题(含答案).docx VIP
原创力文档


文档评论(0)