从hbase读取数据优化策略和实验对比结果
来源:互联网 发布:淘宝运营助理简历模板 编辑:程序博客网 时间:2024/05/05 08:14
起因:工作需要,我需要每5分钟从hbase中,导出一部分数据,然后导入到ES中,但是在开始阶段编写的python脚本,我发现从hbase读取数据的速度较慢,耗费大量的时间,影响整个导数过程,恐怕无法在5分钟内完成导数工作
在咨询了老人后,采取部门优化策略,并记录了实验结果。
hbase结果大致如下
粉丝表
rowKey 是粉丝ID
列名含义id粉丝IDut更新时间... ...
此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 来提高速度,有空试试。
- 从hbase读取数据优化策略和实验对比结果
- FIFO和Binder读取数据效率测试对比结果
- Mapreduce读取和写入Hbase(从A表读取数据,统计结果放入B表,非常详细,附有代码说明以及流程)
- 从hbase表1中读取数据,最终结果写入到hbase表2 ,如何通过MapReduce实现 ?
- spark将数据写入hbase以及从hbase读取数据
- park将数据写入hbase以及从hbase读取数据
- spark将数据写入hbase以及从hbase读取数据
- Spark将数据写入Hbase以及从Hbase读取数据
- 从hdfs读取数据写入hbase
- HBASE-11425 直接从offheap读取数据
- HBase建表高级属性,hbase应用案例看行键设计,HBase和mapreduce结合,从Hbase中读取数据、分析,写入hdfs,从hdfs中读取数据写入Hbase,协处理器和二级索引
- hbase优化策略
- MapReduce 中如何处理HBase中的数据?如何读取HBase数据给Map?如何将结果存储到HBase中?
- MapReduce 中如何处理HBase中的数据?如何读取HBase数据给Map?如何将结果存储到HBase中?
- MapReduce 中如何处理HBase中的数据?如何读取HBase数据给Map?如何将结果存储到HBase中?
- MapReduce 中如何处理HBase中的数据?如何读取HBase数据给Map?如何将结果存储到HBase中?
- 从HBase读取数据提交到Solr建立索引
- 从文件夹里面读取数据并将结果输出
- 多线程 学习笔记<3> WIN32应用程序,多参数
- iOS中Collection遍历的四种方式
- JSP的工作原理
- MAC机XMAPP环境下用PHP-CPP开发PHP扩展
- shell一些总结
- 从hbase读取数据优化策略和实验对比结果
- java中值传递和引用传递
- 第九周项目五——程序填充题(1)
- Java发起Http请求
- linux下vi命令大全
- 扩展framework 语言包 自定义语言
- Cocos2dx 3.2 maybe you meant: _OBJC_CLASS_$_GCControllerConnectionEventHandler
- org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named is defined
- Log4j 日志文件使用