001資料演算法 二次排序

2021-09-28 17:27:00 字數 735 閱讀 3804

各個列分別為:

年,月,日,當天溫度

2012,01,01,5

2012,01,02,15

2012,01,03,25

2012,01,04,18

2012,01,05,10

2012,02,01,15

2012,02,02,16

2012,02,03,22

2012,02,04,11

2012,02,05,16

2012,03,01,25

2012,03,02,17

2012,03,03,24

2012,03,04,13

2012,03,05,17

需求:輸出每個』年-月』(year-month)的溫度,而且值按公升序排序。

輸出結果為:

第一列:year-month

第二列:已排序的溫度。

mapreduce正規化:

map(keya,valuea) -> list(kb,vb)

reduce(kb,list(vb)) -->list(kc,vc)

使用mr框架對規約器值排序:

使用鍵值轉換設計模式:

構造乙個組合中間鍵(k,valuea),其中valuea是次鍵(secondary key)。在這裡,k稱為自然鍵(natural key)。要在規約器鍵中注入乙個值(即 valuea),只需要建立乙個組合鍵,在本例子中valuea 就是溫度資料 (temperature) 。

Hadoop Streaming二次排序

由於hadoop機器記憶體不足,所以需要把資料mapred進來跑。這樣,就需要,同乙個key下的輸入資料是有序的,即 對於keya的資料,要求data1先來,之後data2再來 所以需要對data進行二次排序。d stream.num.map.output.key.fields 2 這個,可以設定在...

MapReduce二次排序

預設情況下,map輸出的結果會對key進行預設的排序,但個別需求要求對key排序的同時還需要對value進行排序 這時候就要用到二次排序了。本章以hadoop權威指南中計算每年最大氣溫值為例,原始資料雜亂無章 2008 33 2008 23 2008 43 2008 24 2008 25 2008 ...

MR 二次排序

二次排序 eg 對左側序列進行排序,需要先對字母排序,然後在對數字進行排序.得到右側的序列.a 2 a 2 c 4 a 4 b 3 b 1 c 1 b 3 a 4 c 1 b 1 c 4public class sortmapreduce extends configured implements ...