0 0

求hbase的可行的分页思路,报告参数的传递0

搞了几天,没有搞出来。
想搞一个类似百度这样,1,2,3,4,5这样的分页。

因为hbase没有limit,所以不能按照关系数据的思路去做。并且key是按照字典顺序排序。
一点思路都没有。
网上的资料甚少。而且大多数并不符合现实生产。
很多人用setStartRow和setEndRow来限制分页。
我觉得这是不可取的。因为我们根本就不知道哪个是startRow哪个是endRow。
网上有一种算是比较靠谱。
使用PageFilter和setStartRow来做分页。我觉得可行,是比较靠谱的一个。
不断循环,得出数据。可以设置跳出的条件。
在这里,下一页的开始。是从该页的最后一条记录的keyrow+0得出来的。
这只是分页的一小步。
主要是后面的细节。
我可以从第一条数据分页取出数据。
这个数据该怎么去现实?我当时设计的是。用一个Map,key为页码,value是page实体类。
这样第一次,默认是第一页。当我点击第4页(或者其他)的时候,我把keyrow传过来。这样。我再查的时候,只能从keyrow开始查起。就看不到第1-3的页码。
为了解决这个问题。我就想把当初的Map缓存起来,当点击的时候,接收页码,用页码从Map中取出对应的记录。页码bar还是变了Map获取。但是这样也行不通。
实在木有办发了。希望哪位有经验的哥哥姐姐给个思路。谢谢。
2013年7月25日 15:46

1个答案 按时间排序 按投票排序

0 0

全部取出来缓存了在应用层做分页吧

HBase本身是集群环境数据都是分布在各个节点的所以本身要做分页就很困难

2013年7月28日 11:07

相关推荐

Global site tag (gtag.js) - Google Analytics