本文主要是介绍简单Hbase 分页方案,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
简单Hbase分页方案
网上大多数分页方案分为从服务端分页或者从客户端分页 服务端分页方式主要利用PageFilter过滤器,首先太复杂,其次针对集群的兼容性不是很好,作者利用服务端分页+客户端分页结合方式给出一种简单易行的中间方案。
1.利用PageFilter过滤器从服务端分页,过滤出所需要的最大条数,
注:作者认为大多数用户不会进行太深的翻页,假设pageSize=5,客户饭100页一共从服务器获取500条数据后返回,对Hbase集群也不会造成压力。并且输出到客户端对客户端也不会有太大压力
Filter pageSize = new PageFilter(pageSize *pageNo);
2.客户端分页技巧
List<Result> resultList = new ArrayList<>();// 计算起始页和结束页Integer firstPage = (pageNo) *pageSize;Integer endPage = firstPage + pageSize;//客户端分页int i = 0;for (Result rs : scanner) {if (!rs.isEmpty() && i >= firstPage && i < endPage) {resultList.add(rs);}if (resultList.size() == log.getPage
这篇关于简单Hbase 分页方案的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!