2014年8月14日
摘要: mr自带的例子中的源码SecondarySort,我重新写了一下,基本没变。这个例子中定义的map和reduce如下,关键是它对输入输出类型的定义:(java泛型编程)public static class Map extends Mapper public static class Reduce ... 阅读全文
posted @ 2014-08-14 16:59 netskill 阅读(1071) 评论(0) 推荐(0)
摘要: 全篇结论【分在同一组的一定同属一个分区。在一个分区的可重载"job.setGroupingComparatorClass(a.class);"中的a类的compare方法重新定义分组规则,同一组的value做为reduce的输入。】一、为什么写分区和分组在排序中的作用是不一样的,今天早上看书,又有点... 阅读全文
posted @ 2014-08-14 16:55 netskill 阅读(423) 评论(0) 推荐(0)
摘要: 分析这个原理,的原因是: 1、更好的理解MAPREDUCE的过程。 2、在二次排序时会用到这个原理,二次排序要重写分区方法,重写分组方法;如果原理没搞明白,就无法写二次排序的代码。Key默认分区默认分组自定义分区自定义分组Abc1231、使用系统默认分区方式,是按KEY进行分区。2、KEY相... 阅读全文
posted @ 2014-08-14 16:09 netskill 阅读(787) 评论(0) 推荐(0)
摘要: Hive 已是目前业界最为通用、廉价的构建大数据时代数据仓库的解决方案了,虽然也有 Impala 等后起之秀,但目前从功能、稳定性等方面来说,Hive 的地位尚不可撼动。其实这篇博文主要是想聊聊 SMB join 的,Join 是整个 MR/Hive 最为核心的部分之一,是每个 Hadoop/Hiv... 阅读全文
posted @ 2014-08-14 15:10 netskill 阅读(1320) 评论(0) 推荐(0)
摘要: 适用于场景连接的列数据量很大,在分布式缓存中无法存储时,Bloom Filter 可解决这个问题,用很小的内存可有MAP端过滤掉不需要JOIN的数据,这样传到REDUCE的数据量减少,减少了网络传及磁盘IO。缺点Bloom Filter 会有一定的错误率,但是错误率很低,用空间换取了时间。并且,最终... 阅读全文
posted @ 2014-08-14 14:49 netskill 阅读(549) 评论(0) 推荐(0)