Hadoop中的排序的設計

  1. 排序常常會用,可是怎麼在大數據中,以Map,Reduce這種形式來進行實現了?編程

    首先你要明確目標對象,對誰進行排序,若是是自定義的對象,須要實現其CompareTo方法,由於這個是對象之間比較大小的方法。ide

    另外你須要設計排序策略,特殊狀況,正常狀況,編程的時候,應該先寫特殊狀況,最後寫正常狀況,這樣的話,邏輯更加清晰。大數據

  2. 如何設計呢?設計

    首先按照正常邏輯寫好Map和Reduce程序,而後輸出,最後獲得的是一些文本,對象

    在寫一個Map,Reduce程序在寫,進行排序。思想也是同樣的,偏移量爲key,(剛學的時候,不知道什麼是偏移量,後來才明白,是字段的偏移量,好比第一行,開始偏移量爲1,第二行,偏移量就是11,爲何,由於,第一行有10個字符,佔據了10位)排序

  3. 在全部的mapreduce程序當中k1,v1,k2,v2,k3,v3中的k1一點用都沒有,至於其餘的k2和v2,他們能夠本身進行設計,這些都只是輸出,能夠是對象,也能夠是數值,包括v3,也能夠是NULLwriteable等等之類的。ci

相關文章
相關標籤/搜索