谁亲自做过用mapreduce生成HFILE,再用BulkLoad入HBase表

xiangyuwen 2014-08-28 11:49:54
网上资料也查了,现在用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分了,全送上。
...全文
492 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
haoyuewuwei 2016-01-15
  • 打赏
  • 举报
回复
请问下楼主,你一行的数据量是多少呢?
xiangyuwen 2014-09-01
  • 打赏
  • 举报
回复
引用 2 楼 hadoop333 的回复:
[quote=引用 楼主 xiangyuwen 的回复:] 网上资料也查了,现在用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分了,全送上。
我导入数据直接bulkload的 没有先生成HFILE[/quote] 你上传的速度达到多少呢???
hadoop333 2014-09-01
  • 打赏
  • 举报
回复
引用 5 楼 xiangyuwen 的回复:
我现在用mapreduce及bulkload方法达到差不多13万每秒(6个节点)。
你又不给代码给人看 怎么帮你解释呢 你可以直接用bulkload那个导入命令 我们这是10个64G内存的节点 我不知道你mapreduce及bulkload合起来怎么导入的 就直接用bulkload 导入的那个命令很快的
xiangyuwen 2014-09-01
  • 打赏
  • 举报
回复
我现在用mapreduce及bulkload方法达到差不多13万每秒(6个节点)。
SG90 2014-08-30
  • 打赏
  • 举报
回复
不懂帮顶,看大神怎么说
萌面大盗mc 2014-08-29
  • 打赏
  • 举报
回复
我目前采用的是 MR + HBase Client 方式入库 由于数据处理需要 是在reduce中进行存储的 1W条进行一次flush,每次flush的时间从几百毫秒到几千毫秒,很不稳定,平均算下来3~4千条/秒,这是单reduce task线程的速度,应该还有的提升。 整个来说,3个子节点 * 8个task *3500=8.4W/s 目前也打算试试生成HFile,然后使用bulkload这种方式测试性能! 有兴趣可以+Q交流 1011982699 ps 网上看有人实现了100W/s的入库速度,多节点+多线程
hadoop333 2014-08-29
  • 打赏
  • 举报
回复
引用 楼主 xiangyuwen 的回复:
网上资料也查了,现在用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分了,全送上。
我导入数据直接bulkload的 没有先生成HFILE
hadoop333 2014-08-29
  • 打赏
  • 举报
回复
引用 楼主 xiangyuwen 的回复:
网上资料也查了,现在用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分了,全送上。
把方法一和方法二的代码都贴出来 大家才能帮你看下啊

20,808

社区成员

发帖
与我相关
我的任务
社区描述
Hadoop生态大数据交流社区,致力于有Hadoop,hive,Spark,Hbase,Flink,ClickHouse,Kafka,数据仓库,大数据集群运维技术分享和交流等。致力于收集优质的博客
社区管理员
  • 分布式计算/Hadoop社区
  • 涤生大数据
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧