发表于 2020-06-11 18:27:41 by 月小升

成果:2020.06.11 两步改完,程序扫描1000万的Hbase从4秒,变成58ms

2020.06.11

第一步:为Scan 设置Family

Scan s = new Scan();

s.setFilter(filter1);

s.addFamily(Bytes.toBytes("cookie"));

设置Family 速度从1400ms 变成772 ms 依然不够快

第二步:设置扫描范围

一旦可以设置了范围,就快速多了。意味着key要重新设计,带上可以定位的范围即可。

String Start = "expo0";

String End = "expoz";

byte[] startRow = Bytes.toBytes(Start);

byte[] endRow = Bytes.toBytes(End);

Scan s = new Scan(startRow,endRow);

我的key设计这样 exposale6952020-04-01f482c1d0c8dedf133eb1a0e8b45f881f

后面f482c1d0c8dedf133eb1a0e8b45f881f 这一串 完全是乱码也可以扫描

String Start = "expo0";

String End = "expoz";

我设置扫描

String Start = "expo";

String End = "expo";

start 和 End的时候,无效。就是start和end不能相等,所以我必须设置为expo0 和 expoz 来限制后面的字符。(这种设计并不是最好的,最好的设计我还没有学会,有一种是采取时间倒序的手法。)

2020.06.11 两步改完,程序扫描1000万的Hbase从4秒,变成58ms

从源头解决问题,要修改key的结构。锁定的数据越小,效果越好。

附知识:字母顺序表

在ASCII码表的定义中48~57为0到9十个阿拉伯数字、65~90为26个大写英文字母、97~122号为26个小写英文字母。

This entry was posted in JAVA and tagged HBase. Bookmark the permalink.

月小升QQ 2651044202, 技术交流QQ群 178491360

首发地址:月小升博客 – https://java-er.com/blog/hbase-scan-speed/

无特殊说明,文章均为月小升原创,欢迎转载,转载请注明本文地址,谢谢

hbase倒序查询_Hbase 查询Scan速度优化相关推荐

  1. hbase java api 查询_hbase查询api的基本使用

    HBase是一个分布式的.面向列的开源数据库,不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库.另一个不同的是HBase基于列的而不是基于行的模式. 项目中用到了hbase数据库,因为查 ...

  2. hbase 按时刻查询_Hbase查询工具类,根据时间查询数据

    1,需求:已知空气监测数据在hbase中存储,要求按照时间,查询citycode为110000(北京)一个月的数据,数据为每日的监测数据 ID ,CITYCODE,SO2 ,CO,NO2 ,O3, P ...

  3. hbase建表,删表,修改,查询(get,scan,布隆过滤器)

    建表 直接建表: create '表名','列族名' 如果之后想加入新的列族: alter '表名','列族名' 补充: alter '表名',{NAME='列族名',属性1=>属性值 1,属性 ...

  4. mysql查询查询条件越多速度越快_MySQL技术专区性能优化速记 李博/Alex

    MySQL数据库优化是多方面的,原则是减少系统的瓶颈,减少资源的占用,增加系统的反应速度. 在MySQL中,可以通过SHOW STATUS 语句查询一些MySQL的性能参数.如查询连接次数,可以执行如 ...

  5. PostgreSQL SQL中的ALL,ANY,SOME的用法,sql查询速度优化,sql运行优化

    PostgreSQL SQL中的ALL,ANY,SOME的用法,sql查询速度优化,sql运行优化 准备两个表: --T1(2,3) --T2(1,2,3,4)--ALL,ANY,SOME 的子查询 ...

  6. select_related与prefetch_related django ORM查询速度优化

    深入select_related与prefetch_related函数 原文:https://www.cnblogs.com/tuifeideyouran/p/4232028.html 在数据库有外键 ...

  7. mysql临时表如何分页查询慢_数据量很大,分页查询很慢,怎么优化?

    作者:悠悠i,来源: http://uee.me/aVSnD 当需要从数据库查询的表有上万条记录的时候,一次性查询所有结果会变得很慢,特别是随着数据量的增加特别明显,这时需要使用分页查询.对于数据库分 ...

  8. MySQL的limit用法和分页查询的性能分析及优化

    一.limit用法 在我们使用查询语句的时候,经常要返回前几条或者中间某几行数据,这个时候怎么办呢?不用担心,mysql已经为我们提供了这样一个功能. SELECT * FROM table LIMI ...

  9. db2分页查询语句优化_面试官:数据量很大,分页查询很慢,怎么优化?

    当需要从数据库查询的表有上万条记录的时候,一次性查询所有结果会变得很慢,特别是随着数据量的增加特别明显,这时需要使用分页查询.对于数据库分页查询,也有很多种方法和优化的点. 下面简单说一下我知道的一些 ...

最新文章

  1. mysql中的输出,mysql-将输出结果作为SQL中的列
  2. 使用FoundationDB高效地将SQL数据映射到NoSQL存储系统中
  3. 读书方法(如果努力有用的话,那还要天才干什么!)
  4. 昨天服务器出现问题,解决过程如下所述
  5. Python Django单表查询之日期查询(大于小于范围查询)
  6. python中打印zip()函数结果和zip()函数的使用
  7. java 指令级别理解i++和++i
  8. 中国系统集成商名单大全
  9. Games101现代图形学入门Lecture 3: Transformation知识点总结
  10. 添加组合索引时,做相等运算字段应该放在最前面
  11. webpack转内联px为rem_Vuejs项目配置webpack将px自动转化为rem,适配移动端
  12. 公司没有与员工签订劳动合同,也没有给员工购买社保,现在员工被公司解雇,该如何要求赔偿?
  13. 鼠标控制程序,按住shift显示S,按住Ctrl显示C,按键盘显示D,松开键盘显示U
  14. c语言for嵌套循环语句,关于for嵌套循环语句的疑问
  15. 【小程序开发】微信小程序开发中遇到的那些坑...
  16. PHP生成HTML的技术原理
  17. android中桌面倒计时,android 倒计时显示
  18. C语言 四种不同方法来判断闰年
  19. markdown流程图语法
  20. 单核工作法图解_摆脱穷忙,加强自制力:《单核工作法图解》助你居家办公更专一...

热门文章

  1. c和c++中 typedef struct与struct,以及 typedef struct LNode *list
  2. Android——最佳性能实战
  3. RISC-V Assembly Programmer's Manual
  4. 9 年小厂老前端的年终总结(90 后,12 年毕业,工作 9 年,发过传单,做过运营)
  5. 家用人体体重秤方案规格书
  6. POE交换机和普通交换机的区别介绍
  7. 部署gitlab+gitrunner+nexus镜像仓库CI流水线配置
  8. 使用comm在java程序中管理本地端口[回钦波:高级软件工程师]
  9. 全国计算机二级ACCESS在线,全国计算机二级《Access》操作试题及答案
  10. There is no getter for property named ‘distinct‘ in ‘class tk.mybatis.mapper