首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

避免HBase PageFilter踩坑,这几点你必须要清楚 ​

有这样一个场景,在HBase中需要分页查询,同时根据某一列的值进行过滤。 不同于RDBMS天然支持分页查询,HBase要进行分页必须由自己实现。...据我了解的,目前有两种方案, 一是《HBase权威指南》中提到的用PageFilter加循环动态设置startRow实现,详细见这里。但这种方法效率比较低,且有冗余查询。...刚好最近在看HBase的代码,就在本地debug了下HBase服务端Filter相关的查询流程。 Filter流程 首先看下HBase Filter的流程,见图: ?...(其实正常情况PageFilter返回的结果数量可能大于设定的值,因为服务器集群的PageFilter是隔离的。)...在服务端,HBase会对客户端传递过来的filter封装成FilterWrapper。

1.2K20
您找到你想要的搜索结果了吗?
是的
没有找到

HBase常用的Filter总结

简介:         根据技术调研的过程可以明显的体会到hbase的存储方式和数据库的存储有着明显的区别,查询的方式也有着很大不同,HBase主要是通过这种filter来对数据进行筛选。...同时对于数据的体量较大(10亿级别以上的数据数据量),检索和修改的场景较多时是比较适合使用hbase。     ...HBase过滤器可以根据分为:列簇与列类型过滤器,行键过滤器,其他过滤器 HBase Filter 概览 查询hbase支持的filter 列表 base(main):001:0> show_filters...scan 'test', Filter => "TimestampsFilter(1636561062,1636993106)" 说明: 注意Filter需要再使用前进行导入 PageFilter...:对查询结果按行进行分页显示 scan 'test', { STARTROW => 'row1', ENDROW => 'row5', FILTER => "PageFilter(3)" }

1.1K20

HBase 命令行

这篇文章主要为了整理hbase命令行的使用, 留待以后用到时翻阅. 读取数据 因为一个数据库使用, 通常最复杂的命令就是查询, 故而将大篇幅都给了查询....哦对, 如果你现在还没有数据, 先跳到文章底部, 那里有建表和数据插入的操作. hbase没有索引, 访问hbase中的数据只有三种方式: 通过指定row key访问 通过row key范围访问 全表扫描...进而找到所有在org.apache.hadoop.hbase.filter包下的实现类: ? 各个过滤器的参数, 可看其各自的构造方法....InclusiveStopFilter(stopRowKey) PageFilter: 限定返回一页的数据行数. 这玩意不就是 limit 么......PageFilter(size) RandomRowFilter: 返回随机数据, 无参. (shell 不支持) 另外, 还有一些过滤器不支持命令行使用, 一些复杂参数的构造方法.

1.7K30

HBaseHBase之how

HBase Shell 常用命令: 注意:HBase在linux命令行下操作时,区分大小写 HBase API HBase 提供Java方式的原生接口,其中需要注意的有: (1)创建Connection...HBase Rest Gateway HBase附带的REST服务器,该服务器将HBase表,行,单元和元数据作为URL指定的资源公开。...HBase到Hive 将HBase的数据作为数据源,建立Hive外部表关联到HBase,利用Hive的HQL查询HBase数据,更进一步,将Hive的元数据同步到Impala,利用Impala的SQL...这是HBase二级索引出现的背景。即二级索引是为了让HBase能够提供更多维度的查询能力。...注意:HBase原生并不支持二级索引方案,但基于HBase的KeyValue数据模型与API,可以轻易地构建出二级索引数据。

3.2K20

HBaseHBase之what

来加速Hbase的访问,比如cache的.META.元数据的信息。...流程 老的Region寻址方式 在Hbase 0.96版本以前,Hbase有两个特殊的表,分别是-ROOT-表和.META.表,其中-ROOT-的位置存储在ZooKeeper中,-ROOT-本身存储了...(3)Hlog数量上限 前面说到Hlog为了保证Hbase数据的一致性,那么如果Hlog太多的话,会导致故障恢复的时间太长,因此Hbase会对Hlog的最大个数做限制。...该参数为:hbase.hregion.majorcompaction.jitter 具体算法为: hbase.hregion.majorcompaction参数的值乘于一个随机分数,这个随机分数不能超过...通过hbase.hregion.majorcompaction参数的值加上或减去hbase.hregion.majorcompaction参数的值乘于一个随机分数的值就确定下一次大合并的时间区间。

3.3K40

Hbase(四):Hbase原理

Hbase(四):Hbase原理 Hbase的工作方式 region的分裂和结构 hbase表中的数据按照行键的字典顺序排序 hbase表中的数据按照行的的方向切分为多个region 最开始只有一个...写入数据到hdfs的过程其实是不断追加hfile的过程 Hbase写入数据 数据写入hbase时 先在hlog中记录日志 再修改memstore 直接返回成功 这样 不需要真正等待写入hdfs的过程 所以很快...由于hbase中的数据天然排序 再加上索引 整个查询也可以非常的快 Hbase中的region的寻址 在hbase中有一个hbase:meta表,其中存放了 表和region和regionSever 之间的对应关系信息...​ 支持增、删、读、改、顺序扫描操作 ​ 牺牲了一部分读的性能换取了高效写入能力 Hbase系统架构 hbase中的老大叫hmaster 小弟叫hregionServer 客户端叫Client...Zookeepr为hbase提供集群协调 client 访问hbase 保留一些缓存信息提升效率 zookeeper 保证任何时候集群只有一个HMaster 监控regionServer的状态

3.9K10

HBase篇--HBase常用优化

二.具体优化 1.表的设计  1.1 预分区 默认情况下,在创建HBase表的时候会自动创建一个region分区,当导入数据的时候,所有的HBase客户端都向这一个region写数据,直到这个region...因此Hbase的更新其实是不断追加的操作。...的应用场景,可以考虑在应用程序中做缓存,当有新的查询请求时,首先在缓存中查找,如果存在则直接返回,不再查询HBase;否则对HBase发起读请求查询,然后在应用程序中将查询结果缓存起来。...HTable和HTablePool使用注意事项 HTable和HTablePool都是HBase客户端API的一部分,可以使用它们对HBase表进行CRUD操作。...使用solr和hbase整合完成全文搜索。 a) 使用MR批量读取hbase中的数据,在solr里面建立索引(no  store)之保存rowkey的值。

5.9K50

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券