MapReduce
MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。概念"Map(映射)"和"Reduce(归约)",是它们的主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性。它极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。 当前的软件实现是指定一个Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(归约)函数,用来保证所有映射的键值对中的每一个共享相同的键组。
景子墨
这个作者很懒,什么都没留下…
展开
-
2019-9-1 [MapReduce] 简易去重功能
public class myDis extends Configured implements Tool { // 自己的map -- map task private static class MyMapper extends Mapper<LongWritable, Text, Text, NullWritable>{ // 在map函数外部定义需要用到的变量!...原创 2019-09-05 12:39:37 · 143 阅读 · 0 评论 -
2019-9-9 [MapReduce] 如何利用MapReduce写一个类 - 思维导图
原创 2019-09-11 22:34:03 · 163 阅读 · 0 评论 -
2019-9-7 [MapReduce] JOB配置 加载机制 -思维导图
原创 2019-09-11 22:31:16 · 231 阅读 · 0 评论 -
2019-9-5 [MapReduce] 思维导图
原创 2019-09-11 22:29:48 · 365 阅读 · 0 评论 -
2019-9-4 [MapReduce] combiner实现map到reduce之间先聚合一遍
//combiner上接map的输出,下接reduce的输入 private static class MyCombiner extends Reducer<Text, IntWritable, Text, IntWritable>{ //定义reduce阶段需要的变量 private IntWritable outval = new IntWritable(); ...原创 2019-09-05 12:58:15 · 170 阅读 · 0 评论 -
2019-9-4 [MapReduce] run:获取counter信息并输出
Counters设置在job的后面//执行job count = job.waitForCompletion(true)?0:-1; //counter是job执行后的统计信息 Counters cs = job.getCounters(); System.out.println("Counter count"+cs.countCo...原创 2019-09-05 12:56:56 · 470 阅读 · 1 评论 -
2019-9-4 [MapReduce] (400MB以下)小数据:查找TOP5
/** * MyMRRunProcess.java * com.hnxy.mr * Copyright (c) 2019, 子墨版权所有. * @author ZIMO * @Date 2019年9月4日 */public class MyMRRunProcess extends Configured implements Tool{ /** * MAP CLAS...原创 2019-09-05 12:55:32 · 215 阅读 · 0 评论 -
2019-9-3 [MapReduce] 如何不用log4j打印counter
//counter是job执行后的统计信息 Counters cs = job.getCounters(); System.out.println("Counter count"+cs.countCounters()); for (CounterGroup cg : cs) { System.out.println("\t"+cg.getDisplayName()); fo...原创 2019-09-05 12:54:30 · 113 阅读 · 0 评论 -
2019-9-2 [MapReduce] Reduce.class 源码分析
1.run public void run(Context context) throws IOException, InterruptedException { setup(context); try { while (context.nextKey()) { reduce(context.getCurrentKey(), context.getVa...原创 2019-09-05 12:52:08 · 118 阅读 · 0 评论 -
2019-9-2 [MapReduce] Mapper.class 源码分析
1.runpublic void run(Context context) throws IOException, InterruptedException { setup(context); try { while (context.nextKeyValue()) { map(context.getCurrentKey(), context.getC...原创 2019-09-05 12:50:33 · 144 阅读 · 0 评论 -
2019-9-2 [MapReduce] WordCount 统计词汇出现次数
/** * 自定义wordcount类 * @author Zimo * @Date 2019年9月4日 */public class MyWordCount extends Configured implements Tool{ //定义自己的map类M类.class private static class MyMapper extends Mapper<L...原创 2019-09-05 12:44:53 · 201 阅读 · 0 评论 -
2019-9-1 [Map] 过滤掉空行数据
查看io录入格式:System.out.println(Arrays.toString(strs));if (null != strs && strs.length > 0 && Arrays.toString(strs).length() > 2) { //正确数据 context.getCounter("数据行信息", "有...原创 2019-09-05 12:43:09 · 661 阅读 · 0 评论 -
2019-9-1 [Map] 利用流式处理GBK乱码
//定义自己的map类M类 private static class MyMapper extends Mapper<LongWritable, Text, Text, IntWritable> { //定义需要用到的变量 private Text outkey = new Text(); private IntWritable outval = new IntWri...原创 2019-09-05 12:40:49 · 168 阅读 · 0 评论 -
2019-9-10 [MapReduce] MapReduce的源码抽取--- 思维导图
BaseMR顾名思义,就是把MapReduce的核心抽取出来,组成utils,同时再把输入和输出模块化,从而减少具体业务的代码量,本项目的业务只有三个,wordcount,minmax,disticnt,其中minmax的输入需要disticnt的输出来充当。ps:BaseMR是MapReduce的深层智慧结晶,它代表了MapReduce深厚的技术水平,...原创 2019-09-19 23:41:14 · 156 阅读 · 0 评论