CN106326374A - 一种从HBase中增量抽取数据的方法及*** - Google Patents
一种从HBase中增量抽取数据的方法及*** Download PDFInfo
- Publication number
- CN106326374A CN106326374A CN201610668733.1A CN201610668733A CN106326374A CN 106326374 A CN106326374 A CN 106326374A CN 201610668733 A CN201610668733 A CN 201610668733A CN 106326374 A CN106326374 A CN 106326374A
- Authority
- CN
- China
- Prior art keywords
- data
- hbase
- traffic table
- major key
- concordance list
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开一种从HBase中增量抽取数据的方法,其能够实现对业务透明,满足通用性,而且能够避免随着时间的推移,抽取数据的耗时将越来越大,数据平台上冗余的数据也将越来越多的问题。其包括步骤:(1)在HBase创建一个索引表,用来存储所有业务表的索引信息;(2)构造该索引表,使其包括主键和列,索引表的主键排序方式和业务表相同;(3)在HBase中给业务表配置协处理器coprocessor,支持向索引表写入索引数据;(4)指定要抽取的业务表和要抽取的日期,然后抽取数据;(5)将抽取的数据保存到hdfs上。还提供了一种***。
Description
技术领域
本发明涉及大数据处理的技术领域,尤其涉及一种从HBase中增量抽取数据的方法,以及从HBase中增量抽取数据的***。
背景技术
目前有很多互联网公司采用HBase(Hadoop Database,HBase是GoogleBigtable的开源实现,类似Google Bigtable利用GFS作为其文件存储***,HBase利用Hadoop HDFS作为其文件存储***;Google运行MapReduce来处理Bigtable中的海量数据,HBase同样利用Hadoop MapReduce来处理HBase中的海量数据;Google Bigtable利用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.避免全量抽取数据时,随着时间的推移,抽取数据的耗时将越来越大,数据平台上冗余的数据也将越来越多的问题。
以上所述,仅是本发明的较佳实施例,并非对本发明作任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属本发明技术方案的保护范围。
Claims (9)
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中增量抽取数据的方法,其特征在于:所述步骤(4)中,使用HBase的api,scan读取索引表数据;根据业务表表名、日期值,构建scan的startRow;根据业务表表名、日期值+1,构建scan的stopRow。
6.根据权利要求5所述的从HBase中增量抽取数据的方法,其特征在于:所述步骤(4)中,使用HBase的api,get来查询业务表数据。
7.一种从HBase中增量抽取数据的***,其特征在于:该***包括:
索引表,其配置来存储所有业务表的索引信息,该索引表包括主键和列,索引表的主键排序方式和业务表相同;
协处理器,其配置来支持向索引表写入索引数据;
数据抽取模块,其配置来指定要抽取的业务表和要抽取的日期,然后抽取数据;
存储模块,其配置来将抽取的数据保存到hdfs上。
8.根据权利要求7所述的从HBase中增量抽取数据的***,其特征在于:所述主键包括业务表表名、日期、业务表主键值;列为一列,用于存储空值。
9.根据权利要求8所述的从HBase中增量抽取数据的***,其特征在于:所述协处理器中,向业务表写数据的时候,协处理器截获写请求,取出业务表表名、写请求的主键值,再加上协处理器截获写请求时的***时间,来构建索引表的主键值,将这些数据写入索引表中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610668733.1A CN106326374A (zh) | 2016-08-15 | 2016-08-15 | 一种从HBase中增量抽取数据的方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610668733.1A CN106326374A (zh) | 2016-08-15 | 2016-08-15 | 一种从HBase中增量抽取数据的方法及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106326374A true CN106326374A (zh) | 2017-01-11 |
Family
ID=57740355
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610668733.1A Pending CN106326374A (zh) | 2016-08-15 | 2016-08-15 | 一种从HBase中增量抽取数据的方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106326374A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111046036A (zh) * | 2019-11-05 | 2020-04-21 | 深信服科技股份有限公司 | 数据同步方法、装置、***及存储介质 |
CN111625543A (zh) * | 2020-05-27 | 2020-09-04 | 贵州易鲸捷信息技术有限公司 | 一种基于HBase表实现全局单调递增的序列的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102915336A (zh) * | 2012-09-18 | 2013-02-06 | 北京金和软件股份有限公司 | 一种基于时间戳和日志的增量数据捕获和抽取方法 |
CN103838830A (zh) * | 2014-02-18 | 2014-06-04 | 广东亿迅科技有限公司 | 一种HBase数据库的数据管理方法及*** |
CN104112013A (zh) * | 2014-07-17 | 2014-10-22 | 浪潮(北京)电子信息产业有限公司 | HBase二级索引方法及装置 |
CN105740410A (zh) * | 2016-01-29 | 2016-07-06 | 浪潮电子信息产业股份有限公司 | 一种基于Hbase二级索引的数据统计方法 |
-
2016
- 2016-08-15 CN CN201610668733.1A patent/CN106326374A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102915336A (zh) * | 2012-09-18 | 2013-02-06 | 北京金和软件股份有限公司 | 一种基于时间戳和日志的增量数据捕获和抽取方法 |
CN103838830A (zh) * | 2014-02-18 | 2014-06-04 | 广东亿迅科技有限公司 | 一种HBase数据库的数据管理方法及*** |
CN104112013A (zh) * | 2014-07-17 | 2014-10-22 | 浪潮(北京)电子信息产业有限公司 | HBase二级索引方法及装置 |
CN105740410A (zh) * | 2016-01-29 | 2016-07-06 | 浪潮电子信息产业股份有限公司 | 一种基于Hbase二级索引的数据统计方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111046036A (zh) * | 2019-11-05 | 2020-04-21 | 深信服科技股份有限公司 | 数据同步方法、装置、***及存储介质 |
CN111625543A (zh) * | 2020-05-27 | 2020-09-04 | 贵州易鲸捷信息技术有限公司 | 一种基于HBase表实现全局单调递增的序列的方法 |
CN111625543B (zh) * | 2020-05-27 | 2023-08-25 | 贵州易鲸捷信息技术有限公司 | 一种基于HBase表实现全局单调递增的序列的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11514046B2 (en) | Tiering with pluggable storage system for parallel query engines | |
Tian et al. | Optimized cloud resource management and scheduling: theories and practices | |
CN109997126A (zh) | 事件驱动提取、变换、加载(etl)处理 | |
US20180129691A1 (en) | Dynamic creation and maintenance of multi-column custom indexes for efficient data management in an on-demand services environment | |
US20140129457A1 (en) | An interactive organizational decision-making and compliance facilitation portal | |
CN107967316A (zh) | 一种数据同步方法、设备及计算机可读存储介质 | |
CN102880709B (zh) | 数据仓库管理***和数据仓库管理方法 | |
US20120109926A1 (en) | Scoped database connections | |
US9679037B2 (en) | System and method for implementing database replication configurations using replication modeling and transformation | |
US9128967B2 (en) | Storing graph data in a column-oriented data store | |
CN105487864A (zh) | 代码自动生成的方法和装置 | |
US8762881B2 (en) | Taking screenshots of a failed application | |
CN102999537A (zh) | 一种数据迁移***和方法 | |
Hasani et al. | Lambda architecture for real time big data analytic | |
CN104598840A (zh) | 基于Http协议的多数据源的数据处理方法及*** | |
CN106557307A (zh) | 业务数据的处理方法及处理*** | |
CN109522332A (zh) | 客户信息数据合并方法、装置、设备及可读存储介质 | |
CN110046287A (zh) | 一种与数据库类型无关的数据查询方法、装置及存储介质 | |
EP2917872A2 (en) | Filtering views with predefined query | |
US10831709B2 (en) | Pluggable storage system for parallel query engines across non-native file systems | |
CN102097015A (zh) | 一种作业指导书处理***及方法 | |
CN111177700A (zh) | 行级权限的控制方法及装置 | |
CN106326374A (zh) | 一种从HBase中增量抽取数据的方法及*** | |
CN110134511A (zh) | 一种OpenTSDB共享存储优化方法 | |
CN102456023A (zh) | 一种查找用户信息的方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170111 |
|
RJ01 | Rejection of invention patent application after publication |