Hadoop序列化

来源:互联网 发布:nginx查看端口是否 编辑:程序博客网 时间:2024/05/02 01:37

一、序列化概念

        1 序列化(Serialization)是指把结构化对象转化为字节流。
        2 反序列化(Deserialization)是序列化的逆过程。即把字节流转回结构化对象。
        3 Java序列化(java.io.Serializable)。

二、Hadoop序列化的特点

        1 紧凑:高效使用存储空间。
        2 快速:读写数据的额外开销小
        3 可扩展:可透明地读取老格式的数据
        4 互操作:支持多语言的交互

三、Hadoop节点间通信

      

四、Hadoop序列化的作用

       序列化在分布式环境的两大作用:进程间通信,永久存储。

五、Hadoop的序列化格式:Writable

       1  Writable接口, 是根据 DataInput 和 DataOutput 实现的简单、有效的序列化对象

       2 MR的任意Key和Value必须实现Writable接口.

       3 MR的任意key必须实现WritableComparable接口

       4  Writable的层次结构

       

     5 Text一般认为它等价于java.lang.String的Writable。针对UTF-8序列。例如:Text test = new Text("test");

     6 Java基本类型对应的Writable实现

       

六、使用Writable

        1 .自定义的对象实现Writable 

     

         2 Java值对象的比较

           实现WritableComparable.

           一般需要重写toString(),hashCode(),equals()方法









0 0
原创粉丝点击