hadoop_6 : Hadoop的相关技术
2016-02-01 22:19
405 查看
序列化
对象序列化:用于将对象编码成一个字节流,以及从字节流重新构建hadoop的序列化机制
org.apache.hadoop.io.Wirtable接口org.apache.hadoop.io.Comparable接口
< < interface>>: Writable //输出序列化结果到流中 |
---|
+write (对象状态写入到二进制DataOutput) |
+readFields (从DataInput流中读取) |
Wirtable封装
继承自 WritableComparable接口WritableComparable接口 继承自:Wirtable接口+Comparable接口
//基本类型是Wirtable类型的封装 BoolenWritable: 1(序列化后的长度) ByteWritable: 1(序列化后的长度) IntWritable: 4(序列化后的长度) FloatWritable: 4(序列化后的长度) LongWritable: 8(序列化后的长度) DoubleWritable: 8(序列化后的长度) // 继承自WritableComparable接口;都是可比较的,get()和set()方法
Writable的java基本类型
public class VIntWritable impelements WritableComparable { private int value; //设置值 public void set(int value) {this.value=value;} //获取值 public void get() {return value;} public void read Fields(DataInput in) throws IOException { value=WritableUtils.read.Vint(in); } public void write(DataOutput in) throws IOException { WritableUtils.write.Vint(out,value); } }
ObjectWirtable 类的实现
适用于字段需要使用多种类型保存不同类型的对象
压缩
bzip2可以对压缩文件直接分块splithadoop的远程调用
原理和机制
远程调用:用户可以像调用本地方法一样调用其他应用程序的服务hadoop IPC(inter-process communications)
A调用B,A是RPC的客户端;B是RPC的服务器端 1. theClient需要调用一个远程服务,将参数打包成消息,并附加被调用过程的名字,发生到服务器 2. theServer运行时会阻塞在接收消息的调用上,结束后返回消息
RPC: 客户存根+服务器骨架
java远程方法调用(RMI)
RMI: 容许一个java虚拟机上运行的java程序调用不同虚拟机上运行的对象中的方法java动态代理
三个直接支持类Proxy;InvocationHandler;Method
Java NIO
相关文章推荐
- 学习笔记2 Supervised Learning and Optimization 之 Softmax Regression
- docker常用的命令
- Linux下查看命令行历史记录.bash history(history)
- pthread_cleanup_push()/pop()线程终止清理
- win7旗舰版安装office2007后打开文件提示找不到proplusww.msi
- linux基础指令(一)arch
- 学习笔记1 Supervised Learning and Optimization 之 Linear and Logistic Regression
- Operations-tools
- Linux--字符设备驱动结构框图
- $scope
- 初探linux子系统集之timer子系统(一)
- 初探linux子系统集之timer子系统(一)
- 初探linux子系统集之timer子系统(二)
- 初探linux子系统集之timer子系统(二)
- VS2010 下安装 openssl
- linux下安装中文检索软件 sphinx/coreseek
- Hadoop资源可视化、提高吞吐量的调度工具Pepperdata介绍
- Docker(二)
- [转]Eclipse中的Web项目自动部署到Tomcat
- linux命令学习之(cat)