HBase 批量导入测试

来源:互联网 发布:大屏幕滚动抽奖软件 编辑:程序博客网 时间:2024/06/06 17:12


导入方法1. 采用mapreduce, 在mapper里按行产生Put, 然后用HTable.put, 不用reducer. 测试性能不忍直视, 直接排除。

导入方法2. 采用mapreduce, 先生成HFile, 再用LoadIncrementalHFiles.  用时1小时50分钟,才完成map 100% reduce 48%,实在不想跑下去了。 过程中map task共有152个, 但reduce只有1个,reduce过程奇慢无比,为啥reducer只有1个?

导入方法3.Using Hive to Bulk Load Data Into HBase

导入方法4.Using Pig to Bulk Load Data Into HBase



HBase表设计及数据导入的一些思考



***************************************************

Hive 安装

Hadoop2.2.0+Hbase0.98.1+Sqoop1.4.4+Hive0.13完全安装手册

hbase0.96与hive0.12整合高可靠文档及问题总结

基于MySQL元数据的Hive的安装和简单测试

Hadoop出现Connection Refused异常

hive部署手册

****************************************

Hadoop 部署手册:

Hadoop 2.2.0 热添加新节点

Add a Node to a Live Hadoop Cluster in 15 Minutes

SSH双向免密码登陆:::linux配置双机SSH信任


$ sbin/hadoop-daemon.sh start namenode

$ sbin/hadoop-daemons.sh start datanode

$ sbin/yarn-daemon.sh start resourcemanager

$ sbin/yarn-daemons.sh start nodemanager

$ sbin/mr-jobhistory-daemon.sh start historyserver

****************************************************************

利用Hive 批量导入HBase:


******************************************************************


Phoniex 可以让开发者在 HBase数据集上使用SQL查询。Phoenix查询引擎会将SQL查询转换为一个或多个HBase scan,并编排执行以生成标准的JDBC结果集;

Impala是Cloudera在受到Google的Dremel启发下开发的实时交互SQL大数据查询工具,Impala没有再使用缓慢的Hive+MapReduce批处理,而是通过使用与商用并行关系数据库中类似的分布式查询引擎(由Query Planner、Query Coordinator和Query Exec Engine三部分组成),可以直接从HDFS或HBase中用SELECT、JOIN和统计函数查询数据,从而大大降低了延迟。Impala架构类似分布式数据库Greenplum数据库,一个大的查询通过分析为一个个子查询,分布到底层的执行,最后再合并结果,说白了就是通过多线程并发来暴力SCAN来实现高速;



****************************************************************

Hive可以认为是MR的一个包装;HBase可以认为是HDFS的一个包装;

3.想象你在操作RMDB数据库,如果是全表扫描,就用Hive+Hadoop,如果是索引访问,就用HBase+Hadoop 。
4.Hive query就是MapReduce jobs可以从5分钟到数小时不止;HBase是非常高效的,肯定比Hive高效的多。
5.Hive本身不存储和计算数据,Hive中的表纯逻辑;hbase是物理表,不是逻辑表,提供一个超大的内存hash表,搜索引擎通过它来存储索引,方便查询操作。
6.hive借用hadoop的MapReduce来完成一些hive中的命令的执行
9.hdfs作为底层存储,hdfs是存放文件的系统,而Hbase负责组织文件。



0 0
原创粉丝点击