The invention relates to the technical field of Hbase paging query, in particular to an efficient Hbase paging query method based on redis, including the following steps: generating Rowkey from Hbase table data; setting the maximum number of scanned data, generating query ranges startRow, endRow and page filter according to the number of pages and rows per page queried and other query conditions; Conditions generate keys for storing Rowkey information in redis, scan from Hbase according to query conditions, and save rowKey information of the first data of the current page, the first two pages and the last two pages to redis; when retrieving data, it is directly searched from redis. The beneficial effect of the invention is that the paging information of Hbase table data is cached by redis caching technology, and the corresponding key is generated in redis according to the conditions when the web side performs paging queries. If the redis does not query again and the paging related information is saved, the response speed of the query is greatly improved.
【技术实现步骤摘要】
一种基于redis的高效Hbase分页查询方法
本专利技术涉及Hbase分页查询
,具体涉及一种基于redis的高效Hbase分页查询方法。
技术介绍
随着信息技术的不断发展,近些年来,海量的数据成为最具价值的财富。在信息传播极其迅速的今天各种数据渗透着我们的生活,它们以指数级的速度增长,数据爆炸将我们带入大数据时代。大数据开始蔓延到社会的各行各业从而影响着我们的学习、工作、生活以及社会的发展,因此大数据的相关研究受到中央和地方政府、各大科研机构和各类企业的高度关注。在大部分web信息系统中,都存储着大量甚至是海量的数据,分页查询是其中必不可少的一项技术。传统的关系型数据库有着强大的SQL语言,具有一套完整成熟的分页查询方法。HBase是一个分布式的、面向列的开源数据库,该技术来源于FayChang所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(FileSystem)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。中国专利“CN103617232一种针对Hbase表的分页查询方法”所述的技术方案在实现Hbase分页时,将所有的Hbase表数据进行顺序编号,该编号是查询时的唯一条件,现实环境中很多情况下会有各种复杂的查询需求,简单的顺序编号无法满足;如果数据 ...
【技术保护点】
1.一种基于redis的高效Hbase分页查询方法,其特征在于,其包括如下步骤:Step1,对Hbase表的数据生成Rowkey;Step2,设置扫描数据的最大条数;Step3,根据所查询的页码和每页的数据行数以及其他查询条件,生成查询范围startRow、endRow,以及pagefilter;Step4,根据查询条件生成redis中用于存储Rowkey信息的key;Step5,根据查询条件从Hbase中scan,并将扫描出来的当前页、前两页和后两页第一条数据的rowKey信息保存到redis中,具体步骤如下:1)根据查询条件判断当前页Rowkey信息在redis中是否存在;2)根据查询条件判断当前页的前两页以及后两页Rowkey信息在redis中是否存在;3)如果当前页Rowkey信息在redis中存在,以该Rowkey作为startRow,设置数据总数total初始值为(pageIndex‑1)*pageSize;4)根据设置的条件对Hbase表进行scan遍历,每读取一条数据total+1,当scan出来的result为空或者total值为扫描最大条数的倍数时停止遍历,遍历过程 ...
【技术特征摘要】
1.一种基于redis的高效Hbase分页查询方法,其特征在于,其包括如下步骤:Step1,对Hbase表的数据生成Rowkey;Step2,设置扫描数据的最大条数;Step3,根据所查询的页码和每页的数据行数以及其他查询条件,生成查询范围startRow、endRow,以及pagefilter;Step4,根据查询条件生成redis中用于存储Rowkey信息的key;Step5,根据查询条件从Hbase中scan,并将扫描出来的当前页、前两页和后两页第一条数据的rowKey信息保存到redis中,具体步骤如下:1)根据查询条件判断当前页Rowkey信息在redis中是否存在;2)根据查询条件判断当前页的前两页以及后两页Rowkey信息在redis中是否存在;3)如果当前页Rowkey信息在redis中存在,以该Rowkey作为startRow,设置数据总数total初始值为(pageIndex-1)*pageSize;4)根据设置的条件对Hbase表进行scan遍历,每读取一条数据total+1,当scan出来的result为空或者total值...
【专利技术属性】
技术研发人员:朱静轩,郑川,章文友,孟彦,
申请(专利权)人:中新网络信息安全股份有限公司,
类型:发明
国别省市:安徽,34
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。