一般的mapreduce的wordcount程序如下: 驱动作业代码: 提交作业会报错: 通过异常信息我们可以定位错误在源码中的位置:org.apache.hadoop.mapred.MapTask.MapOutputBuffer#collect,具体关键源码如下: 此处key.getClass可以 ...
分类:
其他好文 时间:
2018-04-14 13:49:50
阅读次数:
818
经过了这么多节的优化,我们有了一个很通用的 createStore: 它的使用方式是: 我们再优化一下,其实 appState 和 stateChanger 可以合并到一起去: stateChanger 现在既充当了获取初始化数据的功能,也充当了生成更新数据的功能。如果有传入 state 就生成更新 ...
分类:
其他好文 时间:
2018-04-13 14:29:59
阅读次数:
172
一.Join原则 将条目少的表/子查询放在Join的左边。原因:在Join的reduce阶段,位于Join左边的表的内容会被加载进内存,条目少的表放在左边,可以减少发生内存溢出的几率。 小表关联大表:用MapJoin把小表全部加载到内存在map端Join,避免reducer处理。如: select ...
分类:
其他好文 时间:
2018-04-07 18:54:53
阅读次数:
143
1 hadoop shuffle的地位 hadoop shuffle是map reduce算法的核心,是它连接了多个map和多个reduce,它将map的输出交给reduce作为输入。 2 hadoop shuffle工作在哪里 shuffle工作在map端 3 hadoop shuffle做了什么 ...
分类:
其他好文 时间:
2018-03-28 12:19:04
阅读次数:
110
概述 1、MapReduce 中,mapper 阶段处理的数据如何传递给 reducer 阶段,是 MapReduce 框架中 最关键的一个流程,这个流程就叫 Shuffle 2、Shuffle: 数据混洗 ——(核心机制:数据分区,排序,局部聚合,缓存,拉取,再合并 排序) 3、具体来说:就是将 ...
分类:
其他好文 时间:
2018-03-24 16:27:52
阅读次数:
172
Partitioner分区类的作用是什么? 在进行MapReduce计算时,有时候需要把最终的输出数据分到不同的文件中,比如按照省份划分的话,需要把同一省份的数据放到一个文件中;按照性别划分的话,需要把同一性别的数据放到一个文件中。我们知道最终的输出数据是来自于Reducer任务。那么,如果要得到多 ...
分类:
其他好文 时间:
2018-03-21 13:48:20
阅读次数:
159
对combiner的理解 combiner其实属于优化方案,由于带宽限制,应该尽量map和reduce之间的数据传输数量。它在Map端把同一个key的键值对合并在一起并计算,计算规则与reduce一致,所以combiner也可以看作特殊的Reducer。 执行combiner操作要求开发者必须在程序 ...
分类:
其他好文 时间:
2018-03-21 13:47:08
阅读次数:
171
这篇文章将会示范如何使用NgRx/Store 4和Angular5。 是基于RxJS的状态管理库,其灵感来源于Redux。在NgRx中,状态是由一个包含action和reducer的函数的映射组成的。Reducer函数经由action的分发以及当前或初始的状态而被调用,最后由reducer返回一个不 ...
分类:
其他好文 时间:
2018-03-11 00:10:04
阅读次数:
476
HDFS 分布式文件系统
Namenode
Secondarynode
Datanode
MapReduce 分布式计算框架
JobTracker
TaskTracker
Map Task
Reducer Task
Yarn 集群资源管理系统
Resourcemanager
Nodemanager
ApplicationMaste...
分类:
其他好文 时间:
2018-03-06 17:06:54
阅读次数:
175
数据流向 数据的改变发生通常是通过用户交互行为或者浏览器行为(如路由跳转等)触发的,当此类行为会改变数据的时候可以通过 dispatch 发起一个 action,如果是同步行为会直接通过 Reducers 改变 State ,如果是异步行为(副作用)会先触发 Effects 然后流向 Reducer ...
分类:
其他好文 时间:
2018-03-01 19:56:10
阅读次数:
244