CN106021422B - 一种基于关系型数据库形成Hive数据仓库的方法及系统 - Google Patents
一种基于关系型数据库形成Hive数据仓库的方法及系统 Download PDFInfo
- Publication number
- CN106021422B CN106021422B CN201610319933.6A CN201610319933A CN106021422B CN 106021422 B CN106021422 B CN 106021422B CN 201610319933 A CN201610319933 A CN 201610319933A CN 106021422 B CN106021422 B CN 106021422B
- Authority
- CN
- China
- Prior art keywords
- data
- hive
- relevant database
- source
- configuration information
- 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.)
- Active
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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
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)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种基于关系型数据库形成Hive数据仓库的方法及系统,其方法包括以下步骤:将数据源关联到关系型数据库中;在关系型数据库中将数据源中的源数据抽取到Hive中;判断抽取的源数据是否为按天抽取增量的原始数据,若是则在Hive中按日期建立时间分区外部表,每天将关系型数据库中源数据的增量抽取到对应的时间分区外部表中;若不是则将Hive中已有的数据删除,并将关系型数据库中源数据的全量抽取到Hive中形成Hive原始数据外部表;将存储有原始数据增量的时间分区外部表和Hive原始数据外部表组合形成Hive数据仓库。本发明将不同关系型数据库的数据集中到一点,可以按照全量进行操作也可以按照日期进行增量操作,减少人工干预。
Description
技术领域
本发明涉及一种形成Hive数据仓库的方法及系统,具体的涉及一种基于关系型数据库形成Hive数据仓库的方法及系统。
背景技术
随着核心业务系统的解耦以及外围平台的不断扩展,系统间数据一致性和系统内各处理环节与接口的数据一致性问题日趋重要,如何快速发现、定位数据差异,并进行针对性处理修复数据,是目前数据一致性管理中的重要工作。随着核心业务系统的解耦以及外围平台的不断扩展,生成数据的数据源越来越多,对于数据的统计、分析造成了不方便性,同时对在生成库上进行统计分析容易造成对生产库的影响,现将数据进行统一形成数据仓库。现在的处理模式存在以下缺陷:对于抽取语句的配置与变更与人工干预,对于hive表的变更需要人工参与,对于hive表增加字段则修改表结构之前的数据无该字段信息,同时无法进行增加,如历史数据需要该字段则需要重新进行抽取数据。
发明内容
本发明所要解决的技术问题是提供一种基于关系型数据库形成Hive数据仓库的方法及系统,减少人工干预,可实现全量和增量的抽取数据。
本发明解决上述技术问题的技术方案如下:一种基于关系型数据库形成Hive数据仓库的方法,包括以下步骤:
S1,通过配置数据源的网络配置信息与抽取配置信息将数据源关联到关系型数据库中;
S2,在关系型数据库中通过网络配置信息和抽取配置信息将数据源中的源数据抽取到Hive中;
S3,判断在关系型数据库中抽取的源数据是否为按天抽取增量的原始数据,
若是则在Hive中按日期建立时间分区外部表,每天将关系型数据库中源数据的增量抽取到对应的时间分区外部表中;
若不是则将Hive中已有的数据删除,并将关系型数据库中源数据的全量抽取到Hive中形成Hive原始数据外部表;
S4,将存储有原始数据增量的时间分区外部表和Hive原始数据外部表组合形成Hive数据仓库。
本发明的有益效果是:本发明一种基于关系型数据库形成Hive数据仓库的方法采用两层体系进行异常分析定位,基于抽取全量的,每天hive中的数据进行删除,然后原始数据抽取到对应的hive表中;按天抽取增量的,hive按照日期建立分区外部表,每天将增量抽取到对应的分区中;这样可以将不同关系型数据库的数据集中到一点,可以对全量数据进行统计分析,同时可以按照全量进行操作也可以按照日期进行增量操作,减少人工干预。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,所述网路配置信息包括IP、用户名和密码。
进一步,所述抽取配置信息包括sql语句的属主、sql语句和抽取周期。
进一步,在步骤S3中,判断在关系型数据库中抽取的源数据是否为按天抽取增量的原始数据的判断标准为:抽取配置信息中的抽取周期是否为按天抽取。
进一步,在步骤S3中,在Hive中按日期建立时间分区外部表具体为:时间分区外部表按照年、月、日建立。
基于上述一种基于关系型数据库形成Hive数据仓库的方法,本发明还提供一种基于关系型数据库形成Hive数据仓库的系统。
一种基于关系型数据库形成Hive数据仓库的系统,包括关联模块、抽取模块、判断执行模块和成型模块,
所述关联模块,其用于通过配置数据源的网络配置信息与抽取配置信息将数据源关联到关系型数据库中;
所述抽取模块,其用于在关系型数据库中通过网络配置信息和抽取配置信息将数据源中的源数据抽取到Hive中;
所述判断执行模块,其用于判断在关系型数据库中抽取的源数据是否为按天抽取增量的原始数据,
若是则在Hive中按日期建立时间分区外部表,每天将关系型数据库中源数据的增量抽取到对应的时间分区外部表中;
若不是则将Hive中已有的数据删除,并将关系型数据库中源数据的全量抽取到Hive中形成Hive原始数据外部表;
所述成型模块,其用于将存储有原始数据增量的时间分区外部表和Hive原始数据外部表组合形成Hive数据仓库。
本发明的有益效果是:本发明一种基于关系型数据库形成Hive数据仓库的系统采用两层体系进行异常分析定位,基于抽取全量的,每天hive中的数据进行删除,然后原始数据抽取到对应的hive表中;按天抽取增量的,hive按照日期建立分区外部表,每天将增量抽取到对应的分区中;这样可以将不同关系型数据库的数据集中到一点,可以对全量数据进行统计分析,同时可以按照全量进行操作也可以按照日期进行增量操作,减少人工干预。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,所述网路配置信息包括IP、用户名和密码。
进一步,所述抽取配置信息包括sql语句的属主、sql语句和抽取周期。
进一步,在所述判断执行模块中,判断在关系型数据库中抽取的源数据是否为按天抽取增量的原始数据的判断标准为:抽取配置信息中的抽取周期是否为按天抽取。
进一步,在所述判断执行模块中,在Hive中按日期建立时间分区外部表具体为:时间分区外部表按照年、月、日建立。
附图说明
图1为本发明一种基于关系型数据库形成Hive数据仓库的方法的流程图;
图2为本发明一种基于关系型数据库形成Hive数据仓库的系统的框图;
图3为本发明一种基于关系型数据库形成Hive数据仓库的系统执行的原理图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
如图1所示,一种基于关系型数据库形成Hive数据仓库的方法,包括以下步骤:
S1,通过配置数据源的网络配置信息与抽取配置信息将数据源关联到关系型数据库中。所述网路配置信息包括IP、用户名和密码;所述抽取配置信息包括sql语句的属主、sql语句和抽取周期。
S2,在关系型数据库中通过网络配置信息和抽取配置信息将数据源中的源数据抽取到Hive中。
S3,判断在关系型数据库中抽取的源数据是否为按天抽取增量的原始数据,
若是则在Hive中按日期建立时间分区外部表,每天将关系型数据库中源数据的增量抽取到对应的时间分区外部表中;
若不是则将Hive中已有的数据删除,并将关系型数据库中源数据的全量抽取到Hive中形成Hive原始数据外部表。
S4,将存储有原始数据增量的时间分区外部表和Hive原始数据外部表组合形成Hive数据仓库。
在步骤S3中,判断在关系型数据库中抽取的源数据是否为按天抽取增量的原始数据的判断标准为:抽取配置信息中的抽取周期是否为按天抽取。在Hive中按日期建立时间分区外部表具体为:时间分区外部表按照年、月、日建立。
本发明一种基于关系型数据库形成Hive数据仓库的方法提出通过按天抽取关系型数据库增量数据形成Hive数据仓库,用于对数据进行进一步的加工以及对数据的应用、分析。抽取数据分的方法为在hive中按天建立原始数据的外部表;第一次抽取时按照全量进行抽取放入当天的分区内;每天定时抽取增量,放入对应的日期分区内。对于对已有数据更新的问题,因hive不支持DML语句,即不支持UPDATE、DELETE语句,需要对已有数据进行去重工作,根据操作时间和唯一标识符取得该条语句最后一条语句。需要注意的是,因抽取数据的数据源不同,针对抽取的语句也会不同,要保证不同的抽取数据源的抽取语句的字段数保持一致,并相对应的字段表达的意思应为相同类型,现在配置抽取语句为人工配置,需要对抽取数据源的有足够的了解,另外,如需要在hive表中增加字段,需通过人工手动添加,同时要在抽取语句上进行字段的增加,在以后的数据中会出现增加的字段值,以前的数据无该字段值。本发明的方法引入数据仓库来解决基于生产库产生的数据进行数据分析,将数据抽取到HIVE仓库,按照hive中生成的表进行全量数据的查询与分析。
通过对原始数据的归类以及综合维护人员的实际处理经验,目前整理出来的针对原始数据的定位方式包括:
1、原始数据只在一个关系型数据库中存在。
2、原始数据在不同的关系型数据库中存在,但是表结构相同,存储的数据类型也相同。
3、原始数据在不同的关系型数据库中存在,表结构不相同。
4、按天取原始数据的增量。
5、全量抽取原始数据。
通过对上述五种情况的分析,第一种与第二种通过维护源数据管理库和数据抽取管理库,sql语句写成一致即可,第三种情况比较复杂,需要业务人员对不同的生成库的业务有一定的了解,同时sql语句每列的定义要一致才可以。第四种在hive中按天建立分区,将增量数据抽取到对应的分区中,第五种每天都抽取全量,hive表不按照分区建表。
基于上述分析结果,本发明的方法采用两层体系进行异常分析定位:
1、基于抽取全量的,每天hive中的数据进行删除,然后原始数据抽取到对应的hive表中。
2、按天抽取增量的,hive按照日期建立分区外部表,每天将增量抽取到对应的分区中。
本发明一种基于关系型数据库形成Hive数据仓库的方法采用两层体系进行异常分析定位,基于抽取全量的,每天hive中的数据进行删除,然后原始数据抽取到对应的hive表中;按天抽取增量的,hive按照日期建立分区外部表,每天将增量抽取到对应的分区中;这样可以将不同关系型数据库的数据集中到一点,可以对全量数据进行统计分析,同时可以按照全量进行操作也可以按照日期进行增量操作,减少人工干预。
基于上述一种基于关系型数据库形成Hive数据仓库的方法,本发明还提供一种基于关系型数据库形成Hive数据仓库的系统。
如图2所示,一种基于关系型数据库形成Hive数据仓库的系统,包括关联模块、抽取模块、判断执行模块和成型模块,所述关联模块,其用于通过配置数据源的网络配置信息与抽取配置信息将数据源关联到关系型数据库中;所述抽取模块,其用于在关系型数据库中通过网络配置信息和抽取配置信息将数据源中的源数据抽取到Hive中;所述判断执行模块,其用于判断在关系型数据库中抽取的源数据是否为按天抽取增量的原始数据,若是则在Hive中按日期建立时间分区外部表,每天将关系型数据库中源数据的增量抽取到对应的时间分区外部表中;若不是则将Hive中已有的数据删除,并将关系型数据库中源数据的全量抽取到Hive中形成Hive原始数据外部表;所述成型模块,其用于将存储有原始数据增量的时间分区外部表和Hive原始数据外部表组合形成Hive数据仓库。
所述网路配置信息包括IP、用户名和密码。所述抽取配置信息包括sql语句的属主、sql语句和抽取周期。
在所述判断执行模块中,判断在关系型数据库中抽取的源数据是否为按天抽取增量的原始数据的判断标准为:抽取配置信息中的抽取周期是否为按天抽取。在所述判断执行模块中,在Hive中按日期建立时间分区外部表具体为:时间分区外部表按照年、月、日建立。
在本发明一种基于关系型数据库形成Hive数据仓库的系统,系统执行的原理如图3所示。
整个Hive数据仓库可分为4个部分:源数据管理库:集中管理需要抽取的关系型数据库的配置信息;数据抽取管理库:集中管理抽取数据的sql语句的配置信息;Hive源数据管理库:集中管理hive中表结构信息的配置信息。任务调度:负责各个结果分析任务的调度工作,同时负责关联规则和特征规则的执行顺序控制。
本发明一种基于关系型数据库形成Hive数据仓库的系统采用两层体系进行异常分析定位,基于抽取全量的,每天hive中的数据进行删除,然后原始数据抽取到对应的hive表中;按天抽取增量的,hive按照日期建立分区外部表,每天将增量抽取到对应的分区中;这样可以将不同关系型数据库的数据集中到一点,可以对全量数据进行统计分析,同时可以按照全量进行操作也可以按照日期进行增量操作,减少人工干预。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于关系型数据库形成Hive数据仓库的方法,其特征在于,包括以下步骤:
S1,通过配置数据源的网络配置信息与抽取配置信息将数据源关联到关系型数据库中;
S2,在关系型数据库中通过网络配置信息和抽取配置信息将数据源中的源数据抽取到Hive中;
S3,判断在关系型数据库中抽取的源数据是否为按天抽取增量的原始数据,
若是则在Hive中按日期建立时间分区外部表,每天将关系型数据库中源数据的增量抽取到对应的时间分区外部表中;
若不是则将Hive中已有的数据删除,并将关系型数据库中源数据的全量抽取到Hive中形成Hive原始数据外部表;
S4,将存储有原始数据增量的时间分区外部表和Hive原始数据外部表组合形成Hive数据仓库。
2.根据权利要求1所述的一种基于关系型数据库形成Hive数据仓库的方法,其特征在于:所述网络配置信息包括IP、用户名和密码。
3.根据权利要求1或2所述的一种基于关系型数据库形成Hive数据仓库的方法,其特征在于:所述抽取配置信息包括sql语句的属主、sql语句和抽取周期。
4.根据权利要求3所述的一种基于关系型数据库形成Hive数据仓库的方法,其特征在于,在步骤S3中,判断在关系型数据库中抽取的源数据是否为按天抽取增量的原始数据的判断标准为:抽取配置信息中的抽取周期是否为按天抽取。
5.根据权利要求4所述的一种基于关系型数据库形成Hive数据仓库的方法,其特征在于,在步骤S3中,在Hive中按日期建立时间分区外部表具体为:时间分区外部表按照年、月、日建立。
6.一种基于关系型数据库形成Hive数据仓库的系统,其特征在于:包括关联模块、抽取模块、判断执行模块和成型模块,
所述关联模块,其用于通过配置数据源的网络配置信息与抽取配置信息将数据源关联到关系型数据库中;
所述抽取模块,其用于在关系型数据库中通过网络配置信息和抽取配置信息将数据源中的源数据抽取到Hive中;
所述判断执行模块,其用于判断在关系型数据库中抽取的源数据是否为按天抽取增量的原始数据,
若是则在Hive中按日期建立时间分区外部表,每天将关系型数据库中源数据的增量抽取到对应的时间分区外部表中;
若不是则将Hive中已有的数据删除,并将关系型数据库中源数据的全量抽取到Hive中形成Hive原始数据外部表;
所述成型模块,其用于将存储有原始数据增量的时间分区外部表和Hive原始数据外部表组合形成Hive数据仓库。
7.根据权利要求6所述的一种基于关系型数据库形成Hive数据仓库的系统,其特征在于:所述网络配置信息包括IP、用户名和密码。
8.根据权利要求6或7所述的一种基于关系型数据库形成Hive数据仓库的系统,其特征在于:所述抽取配置信息包括sql语句的属主、sql语句和抽取周期。
9.根据权利要求8所述的一种基于关系型数据库形成Hive数据仓库的系统,其特征在于,在所述判断执行模块中,判断在关系型数据库中抽取的源数据是否为按天抽取增量的原始数据的判断标准为:抽取配置信息中的抽取周期是否为按天抽取。
10.根据权利要求9所述的一种基于关系型数据库形成Hive数据仓库的系统,其特征在于,在所述判断执行模块中,在Hive中按日期建立时间分区外部表具体为:时间分区外部表按照年、月、日建立。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610319933.6A CN106021422B (zh) | 2016-05-13 | 2016-05-13 | 一种基于关系型数据库形成Hive数据仓库的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610319933.6A CN106021422B (zh) | 2016-05-13 | 2016-05-13 | 一种基于关系型数据库形成Hive数据仓库的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106021422A CN106021422A (zh) | 2016-10-12 |
CN106021422B true CN106021422B (zh) | 2019-04-09 |
Family
ID=57100808
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610319933.6A Active CN106021422B (zh) | 2016-05-13 | 2016-05-13 | 一种基于关系型数据库形成Hive数据仓库的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106021422B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108205576A (zh) * | 2016-12-20 | 2018-06-26 | 航天信息股份有限公司 | 一种基于数据仓库工具hive分区存储使用和分析数据的方法及系统 |
CN106777345B (zh) * | 2017-01-16 | 2020-07-28 | 浪潮软件科技有限公司 | 一种基于海量数据迁移的数据抽取加载方法 |
CN108959309B (zh) * | 2017-05-23 | 2021-05-25 | 北京京东尚科信息技术有限公司 | 数据分析的方法和装置 |
CN110019477A (zh) * | 2017-12-27 | 2019-07-16 | 航天信息股份有限公司 | 一种使用hive备份表进行大数据处理的方法及系统 |
CN110879812B (zh) * | 2019-11-20 | 2023-06-20 | 浪潮软件股份有限公司 | 一种电商平台中基于spark的数据同步方法 |
CN113032495B (zh) * | 2021-03-23 | 2023-08-01 | 深圳市酷开网络科技股份有限公司 | 基于数据仓库的多层数据存储系统、处理方法、及服务器 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104298760A (zh) * | 2014-10-23 | 2015-01-21 | 北京京东尚科信息技术有限公司 | 一种应用于数据仓库的数据处理方法和数据处理装置 |
CN105243067A (zh) * | 2014-07-07 | 2016-01-13 | 北京明略软件系统有限公司 | 一种实现实时增量同步数据的方法及装置 |
-
2016
- 2016-05-13 CN CN201610319933.6A patent/CN106021422B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105243067A (zh) * | 2014-07-07 | 2016-01-13 | 北京明略软件系统有限公司 | 一种实现实时增量同步数据的方法及装置 |
CN104298760A (zh) * | 2014-10-23 | 2015-01-21 | 北京京东尚科信息技术有限公司 | 一种应用于数据仓库的数据处理方法和数据处理装置 |
Non-Patent Citations (1)
Title |
---|
基于Hadoop的多数据源数据挖掘技术应用研究;张宏安;《中国优秀硕士学位论文全文数据库 信息科技辑》;20150815;全文 |
Also Published As
Publication number | Publication date |
---|---|
CN106021422A (zh) | 2016-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106021422B (zh) | 一种基于关系型数据库形成Hive数据仓库的方法及系统 | |
CN109669983A (zh) | 可视化多数据源etl工具 | |
CN103593422B (zh) | 一种异构数据库的虚拟访问管理方法 | |
CN104572895B (zh) | MPP数据库与Hadoop集群数据互通方法、工具及实现方法 | |
CN109739922A (zh) | 一种工业数据智能分析系统 | |
CN104899295B (zh) | 一种异构数据源数据关联分析方法 | |
US20110264636A1 (en) | Updating a data warehouse schema based on changes in an observation model | |
CN105138501A (zh) | 一种可配置的动态报表生成方法及系统 | |
CN105095319A (zh) | 基于时间序列化的文档的标识、关联、搜索及展现的系统 | |
CN104899284B (zh) | 一种基于元数据驱动调度系统的方法及装置 | |
CN103186541A (zh) | 一种映射关系生成方法及装置 | |
CN101266486A (zh) | 半导体制造流程辅助决策系统 | |
CN107169023A (zh) | 基于sql语义自动解析的数据血统分析系统及方法 | |
CN106227862A (zh) | 基于分布式的电商数据整合方法 | |
CN106528850B (zh) | 基于机器学习聚类算法的门禁数据异常检测方法 | |
CN104392123B (zh) | 一种cda引擎系统及实现方法 | |
CN104063468B (zh) | 一种数据报表自动生成及提取方法及装置 | |
CN106802905A (zh) | 一种同构plm系统的协同数据交换方法 | |
CN107491558A (zh) | 元数据更新方法及装置 | |
CN106780157A (zh) | 基于Ceph的电网多时态模型存储与管理系统及方法 | |
CN112416918B (zh) | 数据治理系统及其工作方法 | |
CN106408178A (zh) | 基于多维度数据快照的产品bom管理方法与装置 | |
CN115577050B (zh) | 一种电费数字化应用平台构建方法 | |
CN101952843A (zh) | 业务流程处理程序、方法和装置 | |
CN104778253B (zh) | 一种提供数据的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |