用MR来对hbase的表数据进行分布式计算。有两点配置可以优化操作,提升性能。它们分别是:
(1)scan.setCacheBlocks(false);
然后调用下面这句来初始化map任务 TableMapReduceUtil.initTableMapperJob
这个配置项是干什么的呢? 本次mr任务scan的所有数据不放在缓存中,一方面节省了交换缓存的操作消耗,可以提升本次mr任务的效率,另一方面,一般mr任务scan的数据都是一次性或者非经常用到的,因此不需要将它们替换到缓存中,缓存中还是放一些正常的多次访问的数据,这样可以提升查询性能。
(2)conf.setBoolean("mapred.map.tasks.speculative.execution", false);
这个 "mapred.map.tasks.speculative.execution" 配置项是干什么用的呢?
是否开启mr的map备用任务机制,如果设为true,则如果一个map任务占用时间较其他的明显长很多(策略由内部设置),在其他TT节点上新建一个map任务,两个一起做,谁先做完,便结束。
优化项是将其设为false,为何呢,跟hbase存储机制有关,hbase本地存储机制,即hbase会尽量把hdfs上的数据文件和rs上对应region存在一台机器上,即当前的map的数据肯定在当前的机器上有本地数据,不需要网络传输。如果启用备用任务机制,则新创建备用任务时,很有可能新建备用任务的机器上没有所需要的数据的备份,如此便需要网络传输数据,增加了网络的开销,其效率会大大的降低,还不如不开启备用任务,就让原来的map任务正常做呢。当然,即便关闭了此机制,如果创建map失败(比如由于oom异常)仍然会在其他节点上重新创建此map任务。
相关推荐
mapreduce方式入库hbase hive hdfs,速度很快,里面详细讲述了代码的编写过程,值得下载
基于Hadoop的mapreduce 在hbase上的使用,基于Hadoop的mapreduce 在hbase上的使用
MapReduce输出至hbase共16页.pdf.zip
google三大论文 gfs bigtable mapreduce hadoop hdfs hbase原型,学hadoop 必看
对Hadoop中的HDFS、MapReduce、Hbase系列知识的介绍。如果想初略了解Hadoop 可下载观看
该案例中主要使用MapReduce作为处理组件进行数据处理,实现的案例有如通过javaapi实现hbase数据写入hdfs、hbase表数据复制到另一个表中等操作 对应(《HBase分布式存储系统应用》胡鑫喆 张志刚著)教材中案例
HBase MapReduce完整实例.rar
HDFS+MapReduce+Hive+HBase十分钟快速入门.pdf
Hadoop-0.20.0-HDFS+MapReduce+Hive+HBase十分钟快速入门
HBase – Hadoop Database,是一...Google运行MapReduce来处理Bigtable中的海量数据,HBase同样利用Hadoop MapReduce来处理HBase中的海量数据;Google Bigtable利用 Chubby作为协同服务,HBase利用Zookeeper作为对应。
Eclipse工程 HBase MapReduce完整实例 可远程执行 包含HBase增删改查 执行Test可看到效果
类比于传统型数据库里的一些查询方式,本文对Hbase的存储原理进行了研究,借助分布式计算框架Mapreduce在Hbase上构建了二级索引,就可以对表进行有针对性的定位和高效率的查找,同时也减轻zookeeper服务对资源调度的压力...
google mapreduce bigtable hbase 三篇最著名的中文论文
主要为大家详细介绍了通用MapReduce程序复制HBase表数据,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
HBase即Hadoop Database,是一个... Google运行MapReduce来处理Bigtable中的海量数据,HBase同样利用Hadoop MapReduce来处理HBase中的海量数据;Google Bigtable利用 Chubby作为协同服务,HBase利用Zookeeper作为对应。
#资源达人分享计划#
NULL 博文链接:https://jsh0401.iteye.com/blog/2096103
#资源达人分享计划#
HDFS+MapReduce+Hive+HBase十分钟快速入门