Hadoop
文章平均质量分 81
小于号yyds
Nothing to lose, everything to gain
展开
-
Hadoop中Mapper和Reducer是单独进程还是线程
hadoop一个节点默认起两个map slot,请问这两个slot是多线程吗?hadoop-0.21.0 源码中是这样的:首先看看 org.apache.hadoop.mapred.TaskTracker 类:两个类变量 maxMapSlots 和 maxReduceSlots:maxMapSlots = conf.getInt(TT_MAP_SLOTS, 2);maxRedu原创 2013-03-31 22:16:36 · 2914 阅读 · 0 评论 -
Hadoop源码详解 org.apache.hadoop.conf (配置类) (二)
Configuration是org.apache.hadoop.conf包中的主类Configuration类中包含了10个属性private static final Log LOG = LogFactory.getLog(Configuration.class); // LOG是记录日志的对象private boolean quietmode = ture;quie原创 2013-05-29 01:06:27 · 10089 阅读 · 0 评论 -
Hadoop源码详解 前言(一)
业余时间研究技术,其中参考网上大多牛人的文章,参杂自己在项目中的一些个人见解,不对之处多多包涵并指正~下载hadoop-0.20.2,解压如下:下面对每个文件夹及文件做个简单的说明:/bin : 包含一些集群的命令/C++ : hadoop上用C++开发的接口,包含64位/32位操作系统的开发接口/conf : hadoop的配置文件/contrib. : 一些插件原创 2013-05-29 00:56:42 · 1772 阅读 · 0 评论 -
多数据源的MapReduce作业(一)--Reduce侧的联结
场景:实现多表的join操作。select customers.*,orders.* from customersjoin orderson customers.id =orders.id使用DataJoin软件包进行实现联结操作。扩展三个类:1、DataJoinMapperBase2、DataJoinReducerB原创 2013-04-04 16:02:52 · 3250 阅读 · 0 评论 -
多数据源的MapReduce作业(三)--map侧过滤后在reduce侧联结
在某些情况下,SemiJoin抽取出来的小表的key集合在内存中仍然存放不下,这时候可以使用BloomFiler以节省空间。BloomFilter最常见的作用是:判断某个元素是否在一个集合里面。它最重要的两个方法是:add() 和contains()。最大的特点是不会存在false negative,即:如果contains()返回false,则该元素一定不在集合中,但会存在一定的true n原创 2013-04-08 01:13:38 · 3299 阅读 · 1 评论 -
多数据源的MapReduce作业(二)--基于Distributed的复制联结
多数据源在reduce侧做join操作,效率不会太高。我们首先会让所有的数据在网络上重排,然后在conbine联结过程中丢弃了大部分的数据。如果我们在mapper侧就去除不必要的数据,联结会更有效率。 map阶段执行联结主要障碍是一个mapper正在处理的记录要能访问到另外表的所有数据,这样就能保证map侧联结可以正常工作。 引入hadoop的DistributedCache。仔细观原创 2013-04-06 14:49:51 · 1526 阅读 · 0 评论 -
详解MapReduce工作流程
一、客户端向JobTracker提交作业这个阶段要完成以下工作:向JobTracker申请 一下新的JobID检查是否指定了output dir,并且确认output dir不存在根据InputPath计算input split。这里的input split并不是MapReduce输入数据的完整拷贝,只是记录了每个split在什么地方存放着。split和block一样都是逻辑概念,翻译 2013-03-24 06:25:58 · 2585 阅读 · 1 评论 -
HDFS --访问(二)
Hdfs的访问方式有两种,第一:类似linux命令,hadoop shell。第二:java API方式。来看第二种。第二种和第一种完成的功能是一样的,直接上代码,里面一些注释的,在测试时自行打开测试即可。package com.wmg.data.join2;import java.io.IOException;import org.apache.hadoo原创 2013-03-24 07:32:46 · 2176 阅读 · 0 评论 -
HDFS --访问(一)
Hdfs的访问方式有两种,第一:类似linux命令,hadoop shell。第二:java API方式。先看第一种。FS Shell catchgrpchmodchowncopyFromLocal copyToLocal cp du dus expunge get getmerge ls lsr mkdir movefromLocal mv put rm原创 2013-03-24 07:25:29 · 18439 阅读 · 0 评论 -
一、迭代式mapreduce(顺序链接)
场景:一些复杂的任务难以用一次mapreduce处理完成,需要多次mapreduce才能完成任务。如在日志解析系统中,会分为拆分、session_id,、上下文三个job。在map/reduce迭代过程中,思想还是比较简单,就像类似for循环一样,前一个mapreduce的输出结果,作为下一个mapreduce的输入,任务完成后中间结果都可以删除。如代码:Confi原创 2013-03-29 01:19:29 · 2708 阅读 · 1 评论 -
Hadoop中CombineFileInputFormat详解
在MR实践中,会有很多小文件,单个文件产生一个mapper,资源比较浪费,后续没有reduce逻辑的话,会产生很多小文件,文件数量暴涨,对后续的hive job产生影响。所以需要在mapper中将多个文件合成一个split作为输入,CombineFileInputFormat满足我们的需求。CombineFileInputFormat 原理(网上牛人总结):第一次:将同DN原创 2013-12-03 14:38:44 · 16382 阅读 · 1 评论