MapReduce排序-概述
生活随笔
收集整理的這篇文章主要介紹了
MapReduce排序-概述
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
MapReduce序列化和排序
序列化 (Serialization) 是指把結構化對象轉化為字節流
反序列化 (Deserialization) 是序列化的逆過程. 把字節流轉為結構化對象. 當要在進程間傳遞對象或持久化對象的時候, 就需要序列化對象成字節流, 反之當要將接收到或從磁盤讀取的字節流轉換為對象, 就要進行反序列化
Java 的序列化 (Serializable) 是一個重量級序列化框架, 一個對象被序列化后, 會附帶很多額外的信息 (各種校驗信息, header, 繼承體系等), 不便于在網絡中高效傳輸. 所以, Hadoop 自己開發了一套序列化機制(Writable), 精簡高效. 不用像 Java 對象類一樣傳輸多層的父子關系, 需要哪個屬性就傳輸哪個屬性值, 大大的減少網絡傳輸的開銷
Writable 是 Hadoop 的序列化格式, Hadoop 定義了這樣一個 Writable 接口. 一個類要支持可序列化只需實現這個接口即可
另外 Writable 有一個子接口是 WritableComparable, WritableComparable 是既可實現序列化, 也可以對key進行比較, 我們這里可以通過自定義 Key 實現WritableComparable 來實現我們的排序功能
數據格式如下
a 1 a 9 b 3 a 7 b 8 b 10 a 5?
超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生總結
以上是生活随笔為你收集整理的MapReduce排序-概述的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MapReduce分区-代码实现
- 下一篇: MapReduce排序-实现比较器和序列