从hbase读取数据优化策略和实验对照结果
起因:工作须要。我须要每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 来提快速度。有空试试。
从hbase读取数据优化策略和实验对照结果的更多相关文章
- Hbase读取数据
get命令和HTable类的get()方法用于从HBase表中读取数据.使用 get 命令,可以同时获取一行数据.它的语法如下: get ’<table name>’,’row1’ 下面的 ...
- 在Windows下MyEclipse运行JAVA程序连接HBASE读取数据出错
运行环境:Hadoop-2.5.0+Hbase-0.98.6 问题描述: 15/06/11 15:35:50 ERROR Shell: Failed to locate the winutils bi ...
- HBase最佳实践-读性能优化策略
任何系统都会有各种各样的问题,有些是系统本身设计问题,有些却是使用姿势问题.HBase也一样,在真实生产线上大家或多或少都会遇到很多问题,有些是HBase还需要完善的,有些是我们确实对它了解太少.总结 ...
- 万字长文详解HBase读写性能优化
一.HBase 读优化 1. HBase客户端优化 和大多数系统一样,客户端作为业务读写的入口,姿势使用不正确通常会导致本业务读延迟较高实际上存在一些使用姿势的推荐用法,这里一般需要关注四个问题: 1 ...
- oracle12c中新能优化新特性之热度图和自动数据优化
1. Oracle12c热度图和自动数据优化 信息生命周期管理(ILM)是指在数据生命周期内管理它们的策略.依赖于数据的年龄和对应用的业务相关性,数据能被压缩,能被归档或移到低成本的存储上.简言之,I ...
- 【转载】HBase 数据库检索性能优化策略
转自:http://www.ibm.com/developerworks/cn/java/j-lo-HBase/index.html 高性能 HBase 数据库 本文首先介绍了 HBase 数据库基本 ...
- HBase 数据库检索性能优化策略--转
https://www.ibm.com/developerworks/cn/java/j-lo-HBase/index.html HBase 数据表介绍 HBase 数据库是一个基于分布式的.面向列的 ...
- HBase 数据库检索性能优化策略
HBase 数据表介绍 HBase 数据库是一个基于分布式的.面向列的.主要用于非结构化数据存储用途的开源数据库.其设计思路来源于 Google 的非开源数据库"BigTable" ...
- hbase大规模数据写入的优化历程
业务背景:由于需要将ngix日志过滤出来的1亿+条用户行为记录存入Hbase数据库,以此根据一定的条件来提供近实时查询,比如根据用户id及一定的时间段等条件来过滤符合要求的若干行为记录,满足这一场景的 ...
随机推荐
- exe4j将可执行的jar封装成exe文件
1,将java项目打包成可执行的jar:https://www.cnblogs.com/3b2414/p/9355292.html, 2,下载好exe4j工具, 3,首先注册,如果你不注册,打包好的软 ...
- 专题八:P2P编程
引言: 前面的介绍专题中有朋友向我留言说介绍下关于P2P相关的内容的,首先本人对于C#网络编程也不是什么大牛,因为能力的关系,也只能把自己的一些学习过程和自己的一些学习过程中的理解和大家分享下的,下面 ...
- C:\Windows\System32\drivers\etc\hosts文件显示
attrib -s -h C:\Windows\System32\drivers\etc\hosts
- key-value键值型数据库:Redis
key-value键值型数据库:Redis redis Redis是in-memory型(内存型)的键值数据库,数据在磁盘上是持久的,键类型是字符串,值类型是字符串.字符串集合(Set).sorted ...
- [Windows Server 2008] MySQL单数据库迁移方法
★ 欢迎来到[护卫神·V课堂],网站地址:http://v.huweishen.com ★ 护卫神·V课堂 是护卫神旗下专业提供服务器教学视频的网站,每周更新视频. ★ 本节我们将带领大家:MySQL ...
- Tcl之Math
expr is for Tcl to do math operations. It takes all of its arguments ("2 + 2" for example) ...
- ios 布局 素材 待整理
https://www.cnblogs.com/fxwl/p/5961372.html div区域 8.盒子模型的相关属性 margin(外边距/边界) border(边框) padding(内边距/ ...
- discuz x3论坛搬家换虚拟主机完美使用教程 亲测可行 附操作步骤
第一步:备份网站数据进入后台—站长—数据库—备份,数据备份类型选择“Discuz!和 UCenter数据”,备份成功以后,数据自动保存在data文件夹下. 第二步:网站文件下载 把整个网站文件打包(虚 ...
- IMDB电影排行爬取分析
一.打开IMDB电影T250排行可以看见250条电影数据,电影名,评分等数据都可以看见 按F12进入开发者模式,找到这些数据对应的HTML网页结构,如下所示 可以看见里面有链接,点击链接可以进入电影详 ...
- S-HR之代码创建临时表并插入数据
... private String tempTab1 = null; //临时表EcirrWithPPTempTable public String getTempTable() { String ...