【技术实现步骤摘要】
HBase行分页方法、服务器及计算机可读存储介质
本专利技术涉及数据库
,尤其涉及一种HBase行分页方法、服务器及计算机可读存储介质。
技术介绍
HBase是ApacheHadoop的数据库,能够对大数据提供随机、实时的读写访问功能,具有开源、分布式、可扩展及面向列存储的特点,它的目标是存储并处理大型的数据,更具体地来说只需使用普通的硬件配置即可以处理成千上万的行和列的数据。HBase原生提供的分页过滤器(PageFilter)只能支持指定某个起始行和分页大小PageSize参数来实现行分页。在实际的分页展示时,客户端会记录本次扫描的最后一行,并将所述最后一行设为下一次扫描的起始行,同时保留相同的过滤属性,然后依次进行迭代。然而,上述的分页方法存在的问题有:(1)在每次获取分页数据时必须知道扫描的起始行,因此不能支持任意页的查询;(2)对于分页查询中要获取的数据量的总个数,需要用到cout函数,然而对于经常存储大数据的HBase,cout函数的处理效率很低。
技术实现思路
本专利技术的主要目的在于提出一种HBase行分页方法及对应的服务器,旨在解决如何快速有效 ...
【技术保护点】
一种HBase行分页方法,应用于服务器,其特征在于,该方法包括:步骤a:设置HBase数据行分页信息的行健RowKey;步骤b:获取所述数据行分页信息的数据记录的总个数Total;步骤c:在同一张表中同时插入所述数据行分页信息和对应的原始数据;步骤d:接收分页请求中的数据偏移量OffSet和分页大小PageSize;步骤e:根据所述数据偏移量OffSet和分页大小PageSize计算每次分页的第一行StartRowKey和最后一行StopRowKey;及步骤f:根据每次分页的所述第一行StartRowKey和所述最后一行StopRowKey,以及所述总个数Total,实现对所述原始数据的分页。
【技术特征摘要】
1.一种HBase行分页方法,应用于服务器,其特征在于,该方法包括:步骤a:设置HBase数据行分页信息的行健RowKey;步骤b:获取所述数据行分页信息的数据记录的总个数Total;步骤c:在同一张表中同时插入所述数据行分页信息和对应的原始数据;步骤d:接收分页请求中的数据偏移量OffSet和分页大小PageSize;步骤e:根据所述数据偏移量OffSet和分页大小PageSize计算每次分页的第一行StartRowKey和最后一行StopRowKey;及步骤f:根据每次分页的所述第一行StartRowKey和所述最后一行StopRowKey,以及所述总个数Total,实现对所述原始数据的分页。2.根据权利要求1所述的HBase行分页方法,其特征在于,该方法中所述步骤d和步骤e替换为:步骤g:接收客户端提供的每次分页的所述第一行StartRowKey和所述最后一行StopRowKey。3.根据权利要求1或2所述的HBase行分页方法,其特征在于,所述数据行分页信息的行健RowKey的结构为:~_serialNum_primaryRowKey,其中“~”为前缀符号,用于与所述原始数据的行键进行区分;“serialNum”表示插入所述行健RowKey时数据记录的个数;“primaryRowKey”表示所述原始数据中的行健值;“_”为连接符。4.根据权利要求3所述的HBase行分页方法,其特征在于,所述serialNum为10进制或16进制的定长字符串。5.根据权利要求3所述的HBase行分页方法,其特征在于,所述步骤b具体包括:将所述数据行分页信息的顺序反转;获取反转后的第一个行健RowKey;通过所述连接符“_”将所述行健RowKey的值进行分割,得到“serialNum”的值;将所述“serialNum”的值去除前缀的零,即得到所述总个数Total。6.根据权利要求3所述的HBase行分页方法,其特征在于,所述步骤e具体包括:根据设置所述数据行分页信息...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。