Hadoop序列化

一、序列化概念

        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()方法









發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章