从hbase读取数据优化策略和实验对比结果
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了从hbase读取数据优化策略和实验对比结果,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含852字,纯文字阅读大概需要2分钟。
内容图文
起因:工作需要,我需要每5分钟从hbase中,导出一部分数据,然后导入到ES中,但是在开始阶段编写的python脚本,我发现从hbase读取数据的速度较慢,耗费大量的时间,影响整个导数过程,恐怕无法在5分钟内完成导数工作
在咨询了老人后,采取部门优化策略,并记录了实验结果。
hbase结果大致如下
粉丝表
rowKey 是粉丝ID
列名 | 含义 |
id | 粉丝ID |
ut | 更新时间 |
... | ... |
此hadoop集群有13台机器
任务的目标把hbase中前5分钟录入的数据录入到ES中。
1. 为了开速开发,我刚开始python通过thrift接口读取数据,显然耗时比较多
在这此实验中,提取数据以来的是ut 这列(更新时间字段)
2. 采用java client + SimpleColumnValueFilter 提取数据
使用thrift 接口非常的慢,照理说thrift server 相当于hbase client 只不过多进行一次数据转发,不应该这么慢,但现实就是这么残忍。
3. 由于hbase在插入数据时同时会记录timestamp,所以可以直接使用timestamp来提取数据(至少缩小了scan的查找范围)
4.,5 减小导数的时间范围,可以观察到,时间的下降不是线性的。我推断scan 操作有部分时间开销是基础时间开销,如果导入多少数据,时间也不会下降很多
6. 采用MapReduce后,速度有了成倍的提高。询问得知,正常情况下通过hbase client 从hbase中提取数据是线性,向一个region server发出请求后,再向另一个region sever发出请求,显然map reduce 并行比串行的速度提高了很多。
到阶段6时间已经满足业务需要了。据说还可以通过拆分region 来提高速度,有空试试。
原文:http://blog.csdn.net/woshiaotian/article/details/40425861
内容总结
以上是互联网集市为您收集整理的从hbase读取数据优化策略和实验对比结果全部内容,希望文章能够帮你解决从hbase读取数据优化策略和实验对比结果所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。