通過Partition把map的結果輸出到到n個不同的reduce

默認的Partition無法滿足我們的需求,因此需要自定義partition過程。

根據map輸出的不同key值,通過partition把map輸出的數據輸出到numReduceTasks個不同的reduce上去。

	public static class Selector extends Partitioner<Text, Text>{

		@Override
		public int getPartition(Text key, Text value, int numReduceTasks) {
			return Integer.parseInt(key.toString()) % numReduceTasks;
		}
		
	}

設置job的partition:

job.setPartitionerClass(Selector.class);


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