一种从HBase中增量抽取数据的方法及系统技术方案

技术编号:14399507 阅读:62 留言:0更新日期:2017-01-11 12:45
本申请公开一种从HBase中增量抽取数据的方法,其能够实现对业务透明,满足通用性,而且能够避免随着时间的推移,抽取数据的耗时将越来越大,数据平台上冗余的数据也将越来越多的问题。其包括步骤:(1)在HBase创建一个索引表,用来存储所有业务表的索引信息;(2)构造该索引表,使其包括主键和列,索引表的主键排序方式和业务表相同;(3)在HBase中给业务表配置协处理器coprocessor,支持向索引表写入索引数据;(4)指定要抽取的业务表和要抽取的日期,然后抽取数据;(5)将抽取的数据保存到hdfs上。还提供了一种系统。

【技术实现步骤摘要】

本专利技术涉及大数据处理的
,尤其涉及一种从HBase中增量抽取数据的方法,以及从HBase中增量抽取数据的系统。
技术介绍
目前有很多互联网公司采用HBase(HadoopDatabase,HBase是GoogleBigtable的开源实现,类似GoogleBigtable利用GFS作为其文件存储系统,HBase利用HadoopHDFS作为其文件存储系统;Google运行MapReduce来处理Bigtable中的海量数据,HBase同样利用HadoopMapReduce来处理HBase中的海量数据;GoogleBigtable利用Chubby作为协同服务,HBase利用Zookeeper作为对应。)存储业务系统的数据,可以支持存储海量数据。而进行业务数据分析,往往是在数据平台上进行。这就需要从HBase中抽取数据到数据平台上。由于从HBase中全量抽取数据代价大,往往希望可以按天维度增量抽取数据。现有的抽取方法主要有两种:一、业务表中表结构设计支持按天维度增量抽取。具体做法:HBase的主键可以设定为组合主键。即主键上是多个项目。例如:rowkey由i1、i2、i3三项组成,并且顺序也是按照i1、i2、i3的先后顺序。如果要让业务表支持按天维度增量抽取,需要满足第一项i1是日期。使用HBase提供的API,scan来读取数据。假如要抽取的数据所属日期为date(如20160803),scan设定startRow为date,stopRow设定为date+1。这种做法的问题:这种增量抽取数据的方法限定了业务表的主键结构,必须将日期作为组合主键的第一项。而业务是多种多样的,主键的设计根据业务需求的不同也是多种多样的,不一定将日期设定为主键的第一项。业务情景一:存储人员信息。使用方式是根据人员ID查询人员信息。主键是人员的ID,列是人员信息。如果要支持按天维度增量抽取数据,将主键设计成为组合主键:date+人员ID。则无法满足按人员ID查询人员信息。业务情景二:存储用户的历史订单信息。使用方式是查询用户在一定时间段内的历史订单情况。主键是date+人员ID,列是订单信息。这种场景下,由于业务需求已经将日期设定为组合主键的第一项了,可以支持按天维度增量抽取数据,同时也满足业务需求。综上所述,方法一这种设计不满足通用的做法。二、抽取数据时采用全量抽取数据。全量抽取数据必然满足通用性。但是随着时间的推移,抽取数据的耗时将越来越大,数据平台上冗余的数据也将越来越多。
技术实现思路
为克服现有技术的缺陷,本专利技术要解决的技术问题是提供了一种从HBase中增量抽取数据的方法,其能够实现对业务透明,满足通用性,而且能够避免随着时间的推移,抽取数据的耗时将越来越大,数据平台上冗余的数据也将越来越多的问题。本专利技术的技术方案是:这种从HBase中增量抽取数据的方法,其包括以下步骤:(1)在HBase创建一个索引表,用来存储所有业务表的索引信息;(2)构造该索引表,使其包括主键和列,索引表的主键排序方式和业务表相同;(3)在HBase中给业务表配置协处理器coprocessor,支持向索引表写入索引数据;(4)指定要抽取的业务表和要抽取的日期,然后抽取数据;(5)将抽取的数据保存到hdfs上。本专利技术通过在HBase中给业务表配置协处理器coprocessor,支持向索引表写入索引数据,指定要抽取的业务表和要抽取的日期,然后抽取数据,从而能够实现对业务透明,满足通用性,而且能够避免随着时间的推移,抽取数据的耗时将越来越大,数据平台上冗余的数据也将越来越多的问题。还提供了一种从HBase中增量抽取数据的系统,该系统包括:索引表,其配置来存储所有业务表的索引信息,该索引表包括主键和列,索引表的主键排序方式和业务表相同;协处理器,其配置来支持向索引表写入索引数据;数据抽取模块,其配置来指定要抽取的业务表和要抽取的日期,然后抽取数据;存储模块,其配置来将抽取的数据保存到hdfs上。附图说明图1所示为根据本专利技术的从HBase中增量抽取数据的方法的流程图。具体实施方式如图1所示,这种从HBase中增量抽取数据的方法,其包括以下步骤:(1)在HBase创建一个索引表,用来存储所有业务表的索引信息;(2)构造该索引表,使其包括主键和列,索引表的主键排序方式和业务表相同;(3)在HBase中给业务表配置协处理器coprocessor,支持向索引表写入索引数据;(4)指定要抽取的业务表和要抽取的日期,然后抽取数据;(5)将抽取的数据保存到hdfs(即Hadoop分布式文件系统,其被设计成适合运行在通用硬件上的分布式文件系统。它和现有的分布式文件系统有很多共同点。但同时,它和其他的分布式文件系统的区别也是很明显的。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。)上。本专利技术通过在HBase中给业务表配置协处理器coprocessor,支持向索引表写入索引数据,指定要抽取的业务表和要抽取的日期,然后抽取数据,从而能够实现对业务透明,满足通用性,而且能够避免随着时间的推移,抽取数据的耗时将越来越大,数据平台上冗余的数据也将越来越多的问题。另外,所述步骤(2)中的主键包括业务表表名、日期、业务表主键值;列为一列,用于存储空值。另外,所述步骤(3)中向业务表写数据的时候,协处理器截获写请求,取出业务表表名、写请求的主键值,再加上协处理器截获写请求时的系统时间,来构建索引表的主键值,将这些数据写入索引表中。另外,该方法应用于:业务表使用bulkload方式,先生成HFile,再在导入到Hbase。另外,所述步骤(4)中,使用HBase的api,scan读取索引表数据;根据业务表表名、日期值,构建scan的startRow;根据业务表表名、日期值+1,构建scan的stopRow。本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,包括上述实施例方法的各步骤,而所述的存储介质可以是:ROM/RAM、磁碟、光盘、存储卡等。因此,与本专利技术的方法相对应的,本专利技术还同时包括一种从HBase中增量抽取数据的系统,该系统通常以与方法各步骤相对应的功能模块的形式表示。该系统包括:索引表,其配置来存储所有业务表的索引信息,该索引表包括主键和列,索引表的主键排序方式和业务表相同;协处理器,其配置来支持向索引表写入索引数据;数据抽取模块,其配置来指定要抽取的业务表和要抽取的日期,然后抽取数据;存储模块,其配置来将抽取的数据保存到hdfs上。另外,所述主键包括业务表表名、日期、业务表主键值;列为一列,用于存储空值。另外,所述协处理器中,向业务表写数据的时候,协处理器截获写请求,取出业务表表名、写请求的主键值,再加上协处理器截获写请求时的系统时间,来构建索引表的主键值,将这些数据写入索引表中。本专利技术的有益效果如下:1.实现通用的增量抽取HBase数据。对业务透明。2.避免全量抽取数据时,随着时间的推移,抽取数据的耗时将越来越大,数据平台上冗余的数据也将越来越多的问题。以上所述,仅是本专利技术的较本文档来自技高网
...
一种<a href="http://www.xjishu.com/zhuanli/55/201610668733.html" title="一种从HBase中增量抽取数据的方法及系统原文来自X技术">从HBase中增量抽取数据的方法及系统</a>

【技术保护点】
一种从HBase中增量抽取数据的方法,其特征在于:其包括以下步骤:(1)在HBase创建一个索引表,用来存储所有业务表的索引信息;(2)构造该索引表,使其包括主键和列,索引表的主键排序方式和业务表相同;(3)在HBase中给业务表配置协处理器coprocessor,支持向索引表写入索引数据;(4)指定要抽取的业务表和要抽取的日期,然后抽取数据;(5)将抽取的数据保存到hdfs上。

【技术特征摘要】
1.一种从HBase中增量抽取数据的方法,其特征在于:其包括以下步骤:(1)在HBase创建一个索引表,用来存储所有业务表的索引信息;(2)构造该索引表,使其包括主键和列,索引表的主键排序方式和业务表相同;(3)在HBase中给业务表配置协处理器coprocessor,支持向索引表写入索引数据;(4)指定要抽取的业务表和要抽取的日期,然后抽取数据;(5)将抽取的数据保存到hdfs上。2.根据权利要求1所述的从HBase中增量抽取数据的方法,其特征在于:所述步骤(2)中的主键包括业务表表名、日期、业务表主键值;列为一列,用于存储空值。3.根据权利要求2所述的从HBase中增量抽取数据的方法,其特征在于:所述步骤(3)中向业务表写数据的时候,协处理器截获写请求,取出业务表表名、写请求的主键值,再加上协处理器截获写请求时的系统时间,来构建索引表的主键值,将这些数据写入索引表中。4.根据权利要求3所述的从HBase中增量抽取数据的方法,其特征在于:该方法应用于:业务表使用bulkload方式,先生成HFile,再在导入到Hbase。5.根据权利要求3所述的从HBase中增量抽取数据的方法,其特征在于:所述步骤...

【专利技术属性】
技术研发人员:范卫卫张翼温宗臣何良均崔晶晶林佳婕
申请(专利权)人:北京集奥聚合科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1