[发明专利]一种HBase的列聚合方法有效
申请号: | 201711307865.2 | 申请日: | 2017-12-11 |
公开(公告)号: | CN108280123B | 公开(公告)日: | 2021-12-21 |
发明(设计)人: | 崔博;曹俊亮;周帅锋;王勇强 | 申请(专利权)人: | 西安烽火软件科技有限公司 |
主分类号: | G06F16/2455 | 分类号: | G06F16/2455;G06F16/22;G06F16/27 |
代理公司: | 南京经纬专利商标代理有限公司 32200 | 代理人: | 杨海军 |
地址: | 710065 陕西省西*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 hbase 聚合 方法 | ||
本发明公开了一种HBASE的列聚合方法,基于HBase服务端查询机制,所述方法的系统架构中设置有聚合扫描器模块,并且扩展聚合表的描述信息,在其中增加列聚合属性;在查询时,根据列聚合属性对同一单元格的多版本数据进行聚合计算,实现在单元格上的聚合;在合并数据时,HBase服务端根据聚合表描述中的列聚合属性信息,将存在多版本的数据进行聚合并将结果保留,非结果数据合并操作执行完后被清除。本发明所公开的方法,相对于现有技术无论是在聚合表查询的实时性方面、性能方面以及资源使用方面都有较好的提升。
技术领域
本发明公开了一种HBase的列聚合方法,涉及计算机信息存储技术领域。
背景技术
HBase是一个参考Google的BigTable实现的高可靠性、高性能、面向列、可伸缩的开源非关系型数据库,采用HDFS作为底层存储。随着大数据技术的发展和应用,HBase逐渐成为业界广泛使用的NoSQL分布式存储系统,它具有高可靠、面向列、开源等特点,已被Facebook、阿里巴巴等公司成功用于生产系统。
HBase数据模型如下表所示:
HBase最基本的单位是列(Column、Qualifier);一个列或者多个列形成了一个列簇(Family、Store),一个列簇或者多个列簇形成了一行(Row),并由唯一的行键(RowKey)来确定存储;每个列有可能有多个版本(TimeStamp),存储在同一个单元格(Cell)中,例如图中的value1。
HBase合并(Compact):列簇下的每个HFile保存了多个版本的数据,合并就是将同一个列簇下的多个HFile多个版本的数据按照是否过期、最多保留版本个数有选择的将部分最新版本的数据合并在一个新的HFile中,清除其他版本的数据,以提高查询的性能。
聚合表的更新操作包括:
聚合数据:对一组数据进行聚合操作(如平均值、最大、最小等)并返回确定的结果,该结果称为聚合数据。
聚合表是指:结合业务需求,在HBase中存储包含聚合数据的表;从HBase角度看,该表就是一个普通的用户表,所以在存储数据时,需要先将数据读出来和现在的数据进行聚合运算,将结果再写到HBase中(称为Read-Write方案)。
目前被广泛使用的对HBase聚合表更新的方案有两种:
一、MapReduce聚合方案
该方案需要设计两张表:一张数据表存储所有冗余的数据,一张聚合表存储MapReduce计算后的聚合数据;通过批量入库或者实时入库将待入库数据存储到HBase数据表中;MapReduce聚合任务定期的对数据表进行全表扫描,将数据聚合运算后的结果存储到HBase聚合表中供客户端查询。客户端通过HBase查询API可直接读取聚合数据。该方案的流程如图1所示。
二、ScanEndpoint聚合方案
该方案需要设计一张数据表存储所有冗余的数据;通过批量入库或者实时入库将待入库数据存储到HBase数据表中;客户端聚合查询时,先在Region级别上对每个region的数据进行聚合运算,再在Table级别上对所有的region聚合结果进行聚合运算,最后将结果返回给客户端。该方案的流程如图2所示。
现有的聚合方案的主要问题有:
1)MapReduce聚合方案:实际采用Read-Write的方法,即先读取出来库里面已有的值,计算后重新写入,增加了IO请求;MapReduce每次需要重新扫描表的所有数据,重复计算比较大,计算资源浪费;MapReduce批量计算实时性比较差;无法支持对流式数据入库,只能以固定的文件作为输入。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安烽火软件科技有限公司,未经西安烽火软件科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711307865.2/2.html,转载请声明来源钻瓜专利网。