设为首页 加入收藏

TOP

hbase中的分页
2019-01-30 13:41:09 】 浏览:44
Tags:hbase
关系型数据库中用offset和limit分页很容易,但是在hbase中就不是一件容易的事.
首先看PageFilter,这个filter只是提供了limit的功能,没有offset,而且并不能保证最后取得的result数量不超过PageFilter中设定的值.因为scan在next操作跨越region时,要open一个新的scanner,而PageFilter是分别序列化到每个region上,就算scan第一个region时,region server对filter做了一些操作改变了filter的状态,在scan第二个region时,也不能保持filter的状态,而要使用全新的filter.因此PageFilter是对每个region中取出的result数量加以限制.
而且hbase不能指定filter的执行顺序,PageFilter与其他的filter配合使用,不知道会不会有问题.

既然hbase的offset只能使用StartRow来实现,一般hbase的分页都是通过StartRow和PageFilter来实现.比如hbase的分页不提供直接跳转到某页,只能从第一页开始进行下一页.每次把当前页的最后一条记录的rowkey+1当成下一页操作时的StartRow.或者像京东的专利那样,把每页对应的StartRow分别存储起来.
[url]http://www.google.com/patents/CN103617232Acl=zh&hl=zh-CN[/url]
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Hbase   snapshot 下一篇HBASE数据类型

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目