2016年1月3日
摘要: 1、MapReduce是一种分布式计算模型2、MapReduce合并了两种经典函数:映射(Mapping):对集合里每一个目标都应用一个操作。例如:如果你想把表单里每个单元格乘以二,那么把这个函数单独地应用在每个单元格上的操作就属于mapping。化简(Reducing):遍历集合中的元素来返回一个... 阅读全文
posted @ 2016-01-03 18:11 冰上逐狐 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 需求:使用mapreduce实现文件a.txt中不同单词出现的次数map之前:1):map处理之前的数据我们称为map例:map 在这里我们一次读取一行,行号就相当于k1,行的所有内容相当于v1map阶段:继承org.apache.hadoop.mapreduce.Mapper重写map2)将map... 阅读全文
posted @ 2016-01-03 17:39 冰上逐狐 阅读(758) 评论(0) 推荐(0) 编辑
摘要: mapreduce分为两个阶段:程序在每个节点上的计算和最终结果的汇总。map阶段:1)处理的数据比较大,而且数据都是分布存储在datanode中。2)由于数据量比较大,而java程序比较小,所以将程序放到每一个数据节点上执行会节省数据传输的时间。而且可以实现并行计算,提高效率。reduce阶段:3... 阅读全文
posted @ 2016-01-03 17:38 冰上逐狐 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 1、这种方法是说,使用filename作为key,并且file contents作为value。实践中这种方式非常管用。2、和HAR不同的是,这种方式还支持压缩。3、block的压缩在许多情况下都是最好的选择,因为它将多个 records压缩到一起,而不是一个record一个压缩。4、在存储结构上,... 阅读全文
posted @ 2016-01-03 17:36 冰上逐狐 阅读(821) 评论(0) 推荐(0) 编辑
摘要: 为什么会出现联盟?一个集群中datanode的存储可以看成是无限制的,而namenode的存储是有限的,当数据过多时,namenode联盟解决了在不同的hdfs之间,datanode的共享问题。共享的是datanode节点,而不是共享的datanode的数据。相当于共享的是这个datanode所在的... 阅读全文
posted @ 2016-01-03 17:34 冰上逐狐 阅读(166) 评论(0) 推荐(0) 编辑