net
封装部分网络功能,如 DNS,socket
security
用户和用户组信息
conf
系统的配置参数
metrics
系统统计数据的收集,属于网管范畴
util
工具类
record
根据 DDL(数据描述语言)自动生成他们的编解码函
数,目前可以提供 C++和 Java
http
基于 Jetty 的 HTTP Servlet,用户通过浏览器可以观察
文件系统的一些状态信息和日志
log
提供 HTTP 访问日志的 HTTP Servlet
Hadoop
源代码分析(三) 对象序列化
由于 (& 的 $%& 和 (, 都有通信的需求,需要对通信的对象进行序列化。(& 并没有采用 6 的序列
化,而是引入了它自己的系统。
& 中定义了大量的可序列化对象,他们都实现了 7 接口。实现了 7 接口的一个典型例
子如下:
Java 代码
publicclassMyWritableimplementsWritable{
//Somedata
3 privateintcounter;
privatelongtimestamp;
4444
8 44444&49:,-4;4941-<=.4>44444
? 4444444491.:.;@44444
444444449A.:;@44444
5 4444B44444
44444444
44444&4&&:,1.4.;4941-<=.4>44444
44444444.4C4.&1.:;@44444
3 444444444C4.&A.:;@44444
4444B44444
4444
8 444444$74&:,1.4.;4941-<=.4>44444
? 44444444$7494C4.94$7:;@44444
444444449&&:.;@44444
5 44444444.49@44444
4444B44444
B444
4
4
其中的 write 和 readFields 分别实现了把对象序列化和反序列化的功能,是 Writable 接口定义的两个方法。下图给出了庞大的
org.apache.hadoop.io 中对象的关系。
4
4
4
评论0
最新资源