多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國(guó)內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁(yè) > 互聯(lián)網(wǎng) > MapReduce 編程 系列三 Reduce階段實(shí)現(xiàn)

MapReduce 編程 系列三 Reduce階段實(shí)現(xiàn)

來(lái)源:程序員人生   發(fā)布時(shí)間:2014-10-02 08:00:01 閱讀次數(shù):1878次

Reduce代碼就是做加和統(tǒng)計(jì),

package org.freebird.reducer; import java.io.IOException; import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.mapreduce.Reducer.Context; import org.apache.hadoop.mapreduce.Reducer; public class LogReducer<Key> extends Reducer<Key, IntWritable, Key,IntWritable> { private IntWritable result = new IntWritable(); public void reduce(Key key, Iterable<IntWritable> values, Context context) throws IOException, InterruptedException { int sum = 0; for (IntWritable val : values) { sum += val.get(); } result.set(sum); context.write(key, result); } }

這里框架保證在調(diào)用reduce方法之前,相同的key的value已經(jīng)被放在values中,從而組成一個(gè)pair <key, values>,這些pair之間也已經(jīng)用key做了排序。

參考文檔:https://hadoop.apache.org/docs/stable/api/org/apache/hadoop/mapreduce/Reducer.html

迭代遍歷values,取出所有的value,都是1, 簡(jiǎn)單加和。

然后結(jié)果寫入到context中。 注意,這里的context是Reducer包的Context。

最后,寫一個(gè)Job類,將初始環(huán)境設(shè)置好。

package org.freebird; import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.io.Text; import org.apache.hadoop.fs.Path; import org.apache.hadoop.mapreduce.lib.input.FileInputFormat; import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.mapreduce.Job; public class LogJob { public static void main(String[] args) throws Exception { Configuration conf = new Configuration(); Job job = Job.getInstance(conf, "sum_did_from_log_file"); job.setJarByClass(LogJob.class); job.setMapperClass(org.freebird.mapper.LogMapper.class); job.setCombinerClass(org.freebird.reducer.LogReducer.class); job.setReducerClass(org.freebird.reducer.LogReducer.class); job.setOutputKeyClass(Text.class); job.setOutputValueClass(IntWritable.class); FileInputFormat.addInputPath(job, new Path(args[0])); FileOutputFormat.setOutputPath(job, new Path(args[1])); System.exit(job.waitForCompletion(true) ? 0 : 1); } }



生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 国产欧美曰韩一区二区三区 | 叼嘿免费| 亚洲国产欧美国产第一区二区三区 | 欧美色频 | 又粗又大又爽 真人一级毛片 | 国产91区精品福利在线社区 | 欧美18av| 国产福利一区二区在线观看 | 久久亚洲一区二区 | 亚洲性一区 | 国产欧美精品一区二区 | 欧美日韩免费大片 | 欧美黑人极品hdxxx | 欧美韩一级片 | 香蕉大成网人站在线 | 亚洲邪恶天堂影院在线观看 | 久久精品国产欧美日韩亚洲 | 中文字幕精品一区二区三区视频 | 亚洲不卡一区二区三区 | 午夜影院免费体验 | 最好看的最新中文字幕2018免费视频 | japanbabes日本护士18免费 | 国产一区二区自拍视频 | 国产成人精品免费久久久久 | 欧美日韩不卡中文字幕在线 | 亚欧美图片自偷自拍另类 | 亚洲国产成人91精品 | 日韩免费一区二区三区 | 久久毛片网 | 国产精品久久久久久吹潮 | 蜜中蜜3动漫无修在线播放 免费 黄 色 人成 视频 | 欧美日韩国产另类一区二区三区 | 日韩欧美一区二区精品久久 | 亚洲精选在线 | freexxx性韩国| 尤物网站永久在线观看 | 欧美精品v国产精品v日韩精品 | 国产国语一级毛片在线放 | 欧美精品aaa久久久影院 | 亚洲精品另类 | 亚洲成综合人影院在院播放 |