2019独角兽企业重金招聘Python工程师标准>>>

HBase的查询实现只提供两种方式:

1、按指定RowKey获取唯一一条记录,get方法(org.apache.hadoop.hbase.client.Get)

2、按指定的条件获取一批记录,scan方法(org.apache.Hadoop.Hbase.client.Scan)

实现条件查询功能使用的就是scan方式,scan在使用时有以下几点值得注意:
1、scan可以通过setCaching与setBatch方法提高速度(以空间换时间);
2、scan可以通过setStartRow与setEndRow来限定范围([start,end)start是闭区间,end是开区间)。范围越小,性能越高。
通过巧妙的RowKey设计使我们批量获取记录集合中的元素挨在一起(应该在同一个Region下),可以在遍历结果时获得很好的性能。
3、scan可以通过setFilter方法添加过滤器,这也是分页、多条件查询的基础。

scan中的setCaching与setBatch方法的区别是什么呢?

setCaching设置的值为每次rpc的请求记录数,默认是1;cache大可以优化性能,但是太大了会花费很长的时间进行一次传输。

setBatch设置每次取的column size;有些row特别大,所以需要分开传给client,就是一次传一个row的几个column。

batch和caching和hbase table column size共同决意了rpc的次数。

通过下表可以看出caching/batch/rpc次数的关系:

10 rows, 2 families, 10column per family,total:200 cell

转载于:https://my.oschina.net/sniperLi/blog/906044

HBase scan setBatch和setCaching的区别相关推荐

  1. hbase scan超时设置_深入浅出HBase系列(二)

    今天来讲讲HBase读的过程: 1.HBase读过程详解 2.1影响HBase读取命令的参数 HBase读包含两种命令:get ,基于确切的RowKey去获取一行数据,通常被称之为随机点查:scan, ...

  2. 图解Nosql(hbase)与传统数据库的区别

    图解Nosql(hbase)与传统数据库的区别 http://www.aboutyun.com/thread-7804-1-1.html (出处: about云开发) 问题导读: 1.nosql数据库 ...

  3. HBase scan 时 异常 ScannerTimeoutException 解决

    HBase scan 时 异常 ScannerTimeoutException 解决 参考文章: (1)HBase scan 时 异常 ScannerTimeoutException 解决 (2)ht ...

  4. MongoDB、ES、Redis、HBase四种数据库的简单区别

    MongoDB和Elasticsearch的对比 适用场景 两者其实在很多使用场景上有重合之处, 是可以互相替代, 比如日志收集 但是某些方面两者又各有特色,比如: 如果打算使用一个文档型的业务数据库 ...

  5. hbase scan超时设置_如何在优化生产环境的hbase

    hbase 是hadoop生态圈的一员,在数据服务应用中具有举足轻重的地位,我们当然有必要掌握,hbase日常的大部分应用在数据查询服务中,因此查询的时候必然涉及到scan操作,因此在建表的时候就要对 ...

  6. Hbase Scan类 ResultScanner类

    Scan类 作用 用于执行扫描操作. 除了实例化之外,所有操作均与Get相同.可以定义可选的startRow和stopRow而不是指定单行.如果未指定行,则扫描程序将遍历所有行. 要从表的所有行中获取 ...

  7. hbase scan超时设置_hbase scan超时问题

    下面是异常信息: 2018-11-08 16:55:52,361 INFO [main] org.apache.hadoop.hbase.mapreduce.TableRecordReaderImpl ...

  8. hive与hbase的以及mongodb和cassandra区别整理

    Hive Hbase 数据处理和计算问题 实时数据查询问题 不是数据库 NoSQL数据库 清洗数据 海量数据查询接口 OLAP OLTP(严格讲只是OLP,不包含T) 逻辑表,不存储实际数据 物理表 ...

  9. hbase scan超时设置_HBase学习之路 (六)过滤器

    点击上方蓝字  关注我们 HBase学习之路 (六)过滤器 过滤器(Filter) 基础API中的查询操作在面对大量数据的时候是非常苍白的,这里Hbase提供了高级的查询方法:Filter.Filte ...

最新文章

  1. linux 安装ubuntu-16.04-server-amd64
  2. JVM调优总结(八)-典型配置举例2
  3. 新中大oracle实列名,新中大财务软件操作流程(完整版)
  4. 51Nod--1100-斜率最大
  5. 好看的动态实时时间显示时钟HTML源码
  6. 如何把meshlab中的圆环去掉_MeshLab中配准点云
  7. 同条网线电脑正常上网,手机连接wifi成功,但是无法访问互联网
  8. 计算机网络怎么连接两台机器,两台电脑怎么连接局域网,小编教你两台电脑怎么连接局域网...
  9. 智慧灯杆解决方案之智慧景区建设
  10. 圣诞节实用礼物有哪些?高性价比的蓝牙耳机分享
  11. 《计算之魂》1.11.2--阅读心得
  12. 光子晶体中的平面波展开法学习
  13. CF 1253D-Harmonious Graph-并查集+贪心
  14. java分页类Page
  15. 【操作系统】CPU(处理器)调度
  16. 钢琴 |《小汤普森简易钢琴教程》第一册
  17. iOS 分析一次有意思的需求——HTML代码注入
  18. jconsole是否可以在生产环境使用_运用Jconsole监控JVM
  19. 论文排版-CTex的基本使用方法
  20. Solo博客静态部署到码云gitee —— 全网最详细系列

热门文章

  1. 使用自定义材质球,实现NGUI屏幕溶解和灰显
  2. In Gradle projects, always use http://schemas.andr
  3. C#程序调用外部程序
  4. 闲来无事,总结 Xcode常用快捷键
  5. 旋转卡壳——模板(对踵点)
  6. HTTP缓存——304与200 from cache
  7. JS学习笔记之call、apply的用法
  8. 《深度学习:Java语言实现》一一2.6小结
  9. 禁止COOKIE后对SESSION的影响
  10. nvm npm不是内部命令_npm作弊表-最常见的命令和nvm