谁亲自做过用mapreduce生成HFILE,再用BulkLoad入HBase表
网上资料也查了,现在用2个方法。
第一个:用MapReduce操作读取HDFS上的文件,然后Map任务调用Hbase的API(PUT),插入数据库表,我们大概6个节点机,入库速度大概在10万每秒。
第二个:用MapReduce读取HDFS上的文件生成HFile文件。如果不指定ROWKEY顺序。MAP生成文件。Reduce用KeyValueSortReducer类完成,能把数据入库HBase,但速度慢,大概在5万每秒(跟1是相同环境下)。
但改成测试在Reduce生成HFile文件,但一直不成功,因为我怎么设计ROWKEY都提示(顺序不对)不成功。因为我建表的时候,已经把表分成了多个REGION。如(split on ('AAAAA00000','AAAAA11111','AAAAA22222','AAAAA33333'......)等。
据我所知,有的公司能达到20多万条每秒。但不知道他们具体如何实现。只知道是用mapreduce实现的,具体细节就不清楚了。
期望做过的高手来指导,谢谢!我只有40分了,全送上。
第一个:用MapReduce操作读取HDFS上的文件,然后Map任务调用Hbase的API(PUT),插入数据库表,我们大概6个节点机,入库速度大概在10万每秒。
第二个:用MapReduce读取HDFS上的文件生成HFile文件。如果不指定ROWKEY顺序。MAP生成文件。Reduce用KeyValueSortReducer类完成,能把数据入库HBase,但速度慢,大概在5万每秒(跟1是相同环境下)。
但改成测试在Reduce生成HFile文件,但一直不成功,因为我怎么设计ROWKEY都提示(顺序不对)不成功。因为我建表的时候,已经把表分成了多个REGION。如(split on ('AAAAA00000','AAAAA11111','AAAAA22222','AAAAA33333'......)等。
据我所知,有的公司能达到20多万条每秒。但不知道他们具体如何实现。只知道是用mapreduce实现的,具体细节就不清楚了。
期望做过的高手来指导,谢谢!我只有40分了,全送上。
...全文
相关推荐
MR程序Bulkload数据到hbase
博客配套文件,详细演示了如何通过MR程序的方式bulkload数据到hbase,代码可直接用于生产环境。
HBase骚操作之数据加载方式BulkLoad
本文研究了一种HBase BulkLoad的入库方式,该方式利用HBase的数据信息按照特定格式存储在hdfs内这一原理,直接在HDFS中生成持久化的HFile数据格式文件,然后上传至合适位置,即完成巨量数据快速入库的办法。该方式配合MapReduce完成,高效便捷,而且不占用Region资源,增添负载,在大数据量写入时能极大的提高写入效率,并降低对Hbase节点的写入压力。HBase BulkLoad对于异构数据源的合并及大量数据一次性导入具有重要指导意义,相比HBase Put操作在性能上具有较高的优势
MapReduce生成HFile入库到HBase 可能需要的jar包
MapReduce生成HFile入库到HBase 可能需要的jar包,一共有3个 可以直接放在每台机器的${HADOOP_HOME}/lib下 hadoopHadoop 1.1.2 + hbase 0.94.6.1
hbase海量数据的全量导入方法
hbase海量数据的全量导入方法,大数据导入。
hadoop mr file2hfile2hbase
NULL 博文链接:https://liuyq1991.iteye.com/blog/2109364


