CN113742325A - 数据仓库建设方法、装置、系统、电子设备及存储介质 - Google Patents
数据仓库建设方法、装置、系统、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113742325A CN113742325A CN202110906349.1A CN202110906349A CN113742325A CN 113742325 A CN113742325 A CN 113742325A CN 202110906349 A CN202110906349 A CN 202110906349A CN 113742325 A CN113742325 A CN 113742325A
- Authority
- CN
- China
- Prior art keywords
- data
- layer
- warehouse
- original full
- summarization
- 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
Images
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/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- 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
-
- 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/258—Data format conversion from or to a database
-
- 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/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
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)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例涉及数据仓库技术领域,公开了一种数据仓库建设方法、装置、系统、电子设备及存储介质。该方法包括:构建数据仓库,对数据仓库进行分层;通过数据准备层获取业务系统的相关数据;通过数据明细层对数据准备层获取的增量数据进行融合;通过数据汇总层对原始全量数据进行清洗和转换,汇总聚合成数据汇总层数据;通过数据集市层将原始全量数据和数据汇总层数据进行粗粒度聚合,按照业务需求对事实进行拉宽形成宽表;通过数据应用层对原始全量数据、数据汇总层数据以及宽表进行粗粒度聚合汇总,以获取业务需要的事实数据;通过数据应用层将事实数据同步至其他服务库。实施本发明实施例,可以快速、便捷地完成数据仓库的建设。
Description
技术领域
本发明涉及数据仓库技术领域,具体涉及一种数据仓库建设方法、装置、系统、电子设备及存储介质。
背景技术
数据仓库(Data Warehouse)是一个具有面向主题、集成、相对稳定和随着时间的推移会发生变化等特性的数据集合,建设数据仓库的目的主要是为企业制定下一步的计划提供数据支持,数据仓库中的数据面向主题,与传统数据库面向应用不同的是它主要用于数据整合和分析,是企业所有级别的人员制定方案的基本依据。数据仓库建设的主要目的是对企业长期积累下来的海量数据进行整合,从数据中找知识;运用数据知识,改良生产活动的各个环节,提高生产率,发展生产力。
制定数据路径是数据仓库建设的核心步骤,包括数据建模、ETL设计开发等。ETL(E(extract)T(transform)L(load))在构建数据仓库的过程中有着举足轻重的作用,它是一系列的操作过程,数据首先被用户从源端抽取出来,经过一系列清洗转换操作之后,例如将没有用的数据舍弃,将异构数据规则化等,最终按照用户以前设计好的数据仓库模型,将数据加载到数据仓库中去的一个过程。现有的ETL的实现方式较为复杂,延长了整个数据仓库建设的周期,导致效率低下。
发明内容
针对所述缺陷,本发明实施例公开了一种数据仓库建设方法、装置、系统、电子设备及存储介质,ETL过程流程化、原子化;ETL过程拆解为E、T、L过程,以表为最小单位,统一作业执行、调度步骤。
本发明实施例第一方面公开一种数据仓库建设方法,所述方法包括:
构建数据仓库,对所述数据仓库进行分层,在所述数据仓库的各层中分步完成对数据的ETL操作,所述数据仓库包括数据准备层、数据明细层、数据汇总层、数据集市层以及数据应用层;
通过数据准备层获取业务系统的相关数据,所述数据准备层的物理模型与业务系统模型一致;
通过数据明细层对数据准备层获取的增量数据进行融合,生成原始全量数据,根据需要做成拉链表;
通过数据汇总层对所述原始全量数据进行清洗和转换,汇总聚合成数据汇总层数据;
通过数据集市层将所述原始全量数据和数据汇总层数据进行粗粒度聚合,按照业务需求对事实进行拉宽形成宽表;
通过数据应用层对所述原始全量数据、数据汇总层数据以及宽表进行粗粒度聚合汇总,以获取业务需要的事实数据;
通过数据应用层将所述事实数据同步至其他服务库。
作为较佳的实施例,在本发明实施例第一方面中,通过数据准备层获取业务系统的相关数据,包括:
实时采集MySQL中的binlog的日志到Kafka中,映射Kafka中的topic数据至所述数据准备层;
在所述数据准备层中,对获取的业务系统的相关数据不做清洗或/和转换,所述数据准备层的表与topic数据一一对应,所述相关数据包括业务系统的源数据、日志和爬虫数据。
作为较佳的实施例,在本发明实施例第一方面中,数据明细层不对原始全量数据进行清洗或/和转换;所述拉链表记录每条信息的生命周期,且所述拉链表只记录发生变化的数据。
作为较佳的实施例,在本发明实施例第一方面中,所述拉链表的表名带有his标志,使用dwd_start_date代表每条信息的有效开始数据,使用dwd_end_date代表每条信息的有效结束数据,ygpdw_active代表每条信息在数据仓库中是否有效。
作为较佳的实施例,在本发明实施例第一方面中,为所述ETL设置SQL脚本模板,所述SQL脚本对应一个表,所述SQL脚本的脚本名即表名;在所述SQL脚本模板中,使用INPUT_TABLE表示依赖表,OUTPUT_TABLE表示结果表,每个SQL脚本的注释中带建表语句。
作为较佳的实施例,在本发明实施例第一方面中,所述数据仓库还包括DIM层,所述DIM层中的每个表包含了事实表中指定属性的相关详细信息。
本发明实施例第二方面公开了数据仓库建设装置,其包括:构建单元,用于构建数据仓库,对所述数据仓库进行分层,在所述数据仓库的各层中分步完成对数据的ETL操作,所述数据仓库包括数据准备层、数据明细层、数据汇总层、数据集市层以及数据应用层;
抽取单元,用于通过数据准备层获取业务系统的相关数据,所述数据准备层的物理模型与业务系统模型一致;
拉链表生成单元,用于通过数据明细层对数据准备层获取的增量数据进行融合,生成原始全量数据,根据需要做成拉链表;
转换单元,用于通过数据汇总层对所述原始全量数据进行清洗和转换,汇总聚合成数据汇总层数据;
宽表生成单元,用于通过数据集市层将所述原始全量数据和数据汇总层数据进行粗粒度聚合,按照业务需求对事实进行拉宽形成宽表;
加载单元,用于通过数据应用层对所述原始全量数据、数据汇总层数据以及宽表进行粗粒度聚合汇总,以获取业务需要的事实数据;
输出单元,用于通过数据应用层将所述事实数据同步至其他服务库。
本发明实施例第三方面公开了一种数据仓库建设系统,其包括:
所述数据仓库建设系统用于接收所述源数据层提供的基础数据,并对所述基础数据进行分布式ETL操作;其包括数据准备层、数据明细层、数据汇总层、数据集市层以及数据应用层;
其中,所述数据准备层,用于获取业务系统的相关数据,所述数据准备层的物理模型与业务系统模型一致;
所述数据明细层,用于对数据准备层获取的增量数据进行融合,生成原始全量数据,根据需要做成拉链表;
所述数据汇总层,用于对所述原始全量数据进行清洗和转换,汇总聚合成数据汇总层数据;
所述数据集市层,用于将所述原始全量数据和数据汇总层数据进行粗粒度聚合,按照业务需求对事实进行拉宽形成宽表;
所述数据应用层,用于进一步对所述原始全量数据、数据汇总层数据以及宽表进行粗粒度聚合汇总,以获取业务需要的事实数据。
本发明实施例第四方面公开一种电子设备,包括:存储有可执行程序代码的存储器;与所述存储器耦合的处理器;所述处理器调用所述存储器中存储的所述可执行程序代码,用于执行本发明实施例第一方面公开的一种数据仓库建设方法。
本发明实施例第五方面公开一种计算机可读存储介质,其存储计算机程序,其中,所述计算机程序使得计算机执行本发明实施例第一方面公开的一种数据仓库建设方法。
本发明实施例第六方面公开一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行本发明实施例第一方面公开的一种数据仓库建设方法。
本发明实施例第七方面公开一种应用发布平台,所述应用发布平台用于发布计算机程序产品,其中,当所述计算机程序产品在计算机上运行时,使得所述计算机执行本发明实施例第一方面公开的一种数据仓库建设方法。
与现有技术相比,本发明实施例具有以下有益效果:
1、将复杂度数据仓库进行分层,后续可根据业务复杂性增加层级,以Hive的库名分割层级表(例如ODS库存放ODS层及相应的表);
2、ETL过程流程化、原子化(分步完成)。ETL过程拆解为E、T、L过程,以表为最小单位,统一作业执行、调度步骤;
3、使用拉链表记录每条信息的生命周期,其仅只记录发生变化的数据,节省存储空间。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人体来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例公开的一种数据仓库建设方法的流程示意图;
图2是本发明实施例公开的数据体系的架构图;
图3是本发明实施例公开的一种数据仓库建设系统的结构示意图;
图4是本发明实施例公开的数据流向的示意图;
图5是本发明实施例公开的拉链表的示意图;
图6是本发明实施例公开的流程规范化的ETL的脚本模板示意图;
图7是本发明实施例公开的一种数据仓库建设装置的结构示意图;
图8是本发明实施例公开的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人体在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书中的术语“第一”、“第二”、“第三”、“第四”等是用于区别不同的对象,而不是用于描述特定顺序。本发明实施例的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,示例性地,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例公开了一种数据仓库建设方法、装置、系统、电子设备及存储介质,其ETL过程流程化、原子化;ETL过程拆解为E、T、L过程,以表为最小单位,统一作业执行、调度步骤,以下结合附图进行详细描述。
实施例一
请参阅图1,图1是本发明实施例公开的一种数据仓库建设方法的流程示意图。如图1所示,该数据仓库建设方法包括以下步骤:
S110、构建数据仓库,对所述数据仓库进行分层,在所述数据仓库的各层中分步完成对数据的ETL操作,所述数据仓库包括数据准备层、数据明细层、数据汇总层、数据集市层以及数据应用层。
对数据仓库进行分层,可根据业务复杂度进行,在业务复杂度较低时,分层数可适当减少,在业务复杂度较高时,可适当增加层数。在本发明较佳的实施例中,示出了将数据仓库分为6层的结构,后续随着业务复杂性增大,可以增加层级,对数据仓库的分层可以通过Hive的库名分割层级表(例如ODS库存放ODS层及相应的表等)完成,例如,当表名为dws.dws_user_behavior_ds,则其属于就数据明细层。
在本发明实施例中,数据仓库的6个逻辑层级分别为数据准备层(ODS)、数据明细层(DWD)、数据汇总层(DWS)、数据集市层(DM)、数据应用层(ADS)以及维度表层(DIM)。
S120、通过数据准备层获取业务系统的相关数据,所述数据准备层的物理模型与业务系统模型一致。
请参照图2和3所示,数据准备层的数据来源为各业务系统的源数据、日志以及爬虫数据等,称之为基础数据,根据具体的业务类型及业务需要进行配置,其为数据仓库的其他逻辑层提供基础数据。
可以理解的是,数据准备层的物理模型与业务系统模型一致,从而保证了数据的针对性和准确性。
作为一种示例,在本发明较佳的实施例中,通过MySQL设置业务从库,实时采集MySQL的binlog的日志(二进制文件)到Kafka的topic中,然后解析Kafka日志中的binlog的日志,并把binlog的日志以具体topic为单位,映射到Hive的表中,具体是ODS层的表中。ODS层的表和topic一一对应,保证数据映射的速度和准确。数据准备层的数据抽取过程中,不对这些数据进行清洗或/和转换,使得ETL过程原子化,分步执行各种操作。
S130、通过数据明细层对数据准备层获取的增量数据进行融合,生成原始全量数据,根据需要做成拉链表。
请参照图3所示,数据明细层主要为数据仓库提供各主体业务的明细数据以及拉链表数据,是数仓明细事实层。其数据来自数据准备层的基础数据,其仅将数据准备层的增量数据与数据明细层存储的相关数据进行merge(融合)生成全量数据,在该逻辑层中,也不对数据进行清洗或/和转换,仅保留原始全量数据,并根据需要做成拉链表。
拉链表是用于维护历史状态,以及最新状态数据的一种表。在本发明较佳的实施例中,拉链表记录了每条信息的生命周期,这些信息也包括物理删除的数据,在每次制作拉链表时,仅记录发生变化的数据,对于未变化的数据,不再重复记录,从而可节省存储空间。
因此,在数据明细层中,通过拉链表保存数据和变化数据,一方面可节省大量存储空间,另一方面也提高处理速度。
作为一种示例,在本发明较佳的实施例中,对拉链表进行规范化,请参照图5所示,具体是:采用统一的命名方式:拉链表的表名要带有his标志,如dwd.dwd_oms_oms_order_his_ds;使用dwd_start_date表示某数据的有效开始时间,使用dwd_end_date表示某数据的有效结束时间,使用ygpdw_active表示在数仓中该条数据是否有效。
例如图5中的dwd_end_date=date('9999-12-31')表示此条数据为最新数据;
dwd_end_date=date('yyyy-mm-dd')表示此条数据在yyyy-mm-dd有效,如dwd_end_date=date('2021-01-24')表示此条数据在2021-01-24及之前有效;如果ygpdw_active=0,则表示此条数据已经物理删除,如果ygpdw_active=1,则表示此条数据为有效数据。
S140、通过数据汇总层对所述原始全量数据进行清洗和转换,汇总聚合成数据汇总层数据。
数据汇总层用于为数仓提供的各种统计提供初步宽表,称为小宽表,其数据来源于数据明细层。在数据汇总层中,对来自数据明细层的原始全量数据进行轻度清洗和转换,汇总聚合生成DWS层数据,数据清洗主要是对数据进行重新审查和校验的过程,目的在于删除重复信息、纠正存在的错误,并提供数据一致性;数据转换例如可以是字段的合并,包括但不限于EMAIL、证件号、日期、手机号的转换或合并,以及一些常用的指标构造实现数据的清洗或转换。
S150、通过数据集市层将所述原始全量数据和数据汇总层数据进行粗粒度聚合,按照业务需求对事实进行拉宽形成宽表。
数据集市层是将所述原始全量数据和数据汇总层数据进行粗粒度聚合,按照业务需求对事实表进行拉宽形成宽表,业务需求可以是例如数据挖掘、自定义查询、用户画像、推荐系统、应用集市等,通过业务需求类型对事实数据进行相应的拉宽,即形成相对应的自定义宽表。
S160、通过数据应用层对所述原始全量数据、数据汇总层数据以及宽表进行粗粒度聚合汇总,以获取业务需要的事实数据。
数据应用层是按照一定的维度,例如年、月、天、时等对原始全量数据、数据汇总层数据以及宽表进行粗粒度聚合汇总生成业务需要的事实数据,用于前端的报表呈现、主题分析以及KPI报表等。
S170、通过数据应用层将所述事实数据同步至其他服务库。
请参照图4所示,作为数据出口,在接收到数据请求时,数据应用层将对应的事实数据同步到与请求相关联的其他服务库中,从而生成相应的BI报表或者其他应用的呈现形式。
数据仓库中的DIM库即维度库中的每个维度表包含了事实表中指定属性的相关详细信息,例如时间维度、地域维度、存储信息等。
在本发明较佳的实施例中,除ETL的原子化(分解分步实现)外,还对ETL的流程进行规范化,具体请参照图6所示,其包括:设置SQL脚本模板,每个SQL脚本对应一个表SQL脚本的脚本名即表名;在SQL脚本模板中,使用INPUT_TABLE表示依赖表,OUTPUT_TABLE表示结果表,每个SQL脚本的注释中必带建表语句。
ETL原子化和流程规范化相结合,使得ETL过程拆解为E、T、L过程,以表为最小单位,统一作业执行、调度步骤。
实施例二
请参阅图3,图3是本发明实施例公开的一种数据仓库建设系统的结构示意图。如图3所示,该数据仓库建设系统用于接收所述源数据层提供的基础数据,并对所述基础数据进行分布式ETL操作;其包括数据准备层、数据明细层、数据汇总层、数据集市层以及数据应用层;
其中,所述数据准备层,用于获取业务系统的相关数据,所述数据准备层的物理模型与业务系统模型一致;
所述数据明细层,用于对数据准备层获取的增量数据进行融合,生成原始全量数据,根据需要做成拉链表;
所述数据汇总层,用于对所述原始全量数据进行清洗和转换,汇总聚合成数据汇总层数据;
所述数据集市层,用于将所述原始全量数据和数据汇总层数据进行粗粒度聚合,按照业务需求对事实进行拉宽形成宽表;
所述数据应用层,用于进一步对所述原始全量数据、数据汇总层数据以及宽表进行粗粒度聚合汇总,以获取业务需要的事实数据。
实施例三
请参阅图7,图7是本发明实施例公开的另一种数据仓库建设装置的结构示意图。如图7所示,该数据仓库建设装置,可以包括:
构建单元310,用于构建数据仓库,对所述数据仓库进行分层,在所述数据仓库的各层中分步完成对数据的ETL操作,所述数据仓库包括数据准备层、数据明细层、数据汇总层、数据集市层以及数据应用层;
抽取单元320,用于通过数据准备层获取业务系统的相关数据,所述数据准备层的物理模型与业务系统模型一致;
拉链表生成单元330,用于通过数据明细层对数据准备层获取的增量数据进行融合,生成原始全量数据,根据需要做成拉链表;
转换单元340,用于通过数据汇总层对所述原始全量数据进行清洗和转换,汇总聚合成数据汇总层数据;
宽表生成单元350,用于通过数据集市层将所述原始全量数据和数据汇总层数据进行粗粒度聚合,按照业务需求对事实进行拉宽形成宽表;
加载单元360,用于通过数据应用层对所述原始全量数据、数据汇总层数据以及宽表进行粗粒度聚合汇总,以获取业务需要的事实数据;
输出单元370,用于通过数据应用层将所述事实数据同步至其他服务库。
优选地,抽取单元320,可以包括:
实时采集MySQL中的binlog的日志到Kafka中,映射Kafka中的topic数据至所述数据准备层;
在所述数据准备层中,对获取的业务系统的相关数据不做清洗或/和转换,所述数据准备层的表与topic数据一一对应,所述相关数据包括业务系统的源数据、日志和爬虫数据。
优选地,数据明细层不对原始全量数据进行清洗或/和转换;所述拉链表记录每条信息的生命周期,且所述拉链表只记录发生变化的数据。
优选地,所述拉链表的表名带有his标志,使用dwd_start_date代表每条信息的有效开始数据,使用dwd_end_date代表每条信息的有效结束数据,ygpdw_active代表每条信息在数据仓库中是否有效。
优选地,为所述ETL设置SQL脚本模板,所述SQL脚本对应一个表,所述SQL脚本的脚本名即表名;在所述SQL脚本模板中,使用INPUT_TABLE表示依赖表,OUTPUT_TABLE表示结果表,每个SQL脚本的注释中带建表语句。
优选地,所述数据仓库还包括DIM层,所述DIM层中的每个表包含了事实表中指定属性的相关详细信息。
实施例四
请参阅图8,图8是本发明实施例公开的一种电子设备的结构示意图。如图8所示,该电子设备可以包括:
存储有可执行程序代码的存储器310;
与存储器310耦合的处理器320;
其中,处理器320调用存储器310中存储的可执行程序代码,执行实施例一中的一种数据仓库建设方法中的部分或全部步骤。
本发明实施例公开一种计算机可读存储介质,其存储计算机程序,其中,该计算机程序使得计算机执行实施例一中的一种数据仓库建设方法中的部分或全部步骤。
本发明实施例还公开一种计算机程序产品,其中,当计算机程序产品在计算机上运行时,使得计算机执行实施例一中的一种数据仓库建设方法中的部分或全部步骤。
本发明实施例还公开一种应用发布平台,其中,应用发布平台用于发布计算机程序产品,其中,当计算机程序产品在计算机上运行时,使得计算机执行实施例一中的一种数据仓库建设方法中的部分或全部步骤。
在本发明的各种实施例中,应理解,所述各过程的序号的大小并不意味着执行顺序的必然先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物单元,即可位于一个地方,或者也可以分布到多个网络单元上。可根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。所述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元若以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可获取的存储器中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或者部分,可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干请求用以使得一台计算机设备(可以为个人计算机、服务器或者网络设备等,具体可以是计算机设备中的处理器)执行本发明的各个实施例所述方法的部分或全部步骤。
在本发明所提供的实施例中,应理解,“与A对应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其他信息确定B。
本领域普通技术人体可以理解所述实施例的各种方法中的部分或全部步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质包括只读存储器(Read-Only Memory,ROM)、随机存储器(Random Access Memory,RAM)、可编程只读存储器(Programmable Read-only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM)、一次可编程只读存储器(One-time Programmable Read-Only Memory,OTPROM)、电子抹除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
以上对本发明实施例公开的一种数据仓库建设方法、装置、系统、电子设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人体,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种数据仓库建设方法,其特征在于,包括:
构建数据仓库,对所述数据仓库进行分层,在所述数据仓库的各层中分步完成对数据的ETL操作,所述数据仓库包括数据准备层、数据明细层、数据汇总层、数据集市层以及数据应用层;
通过数据准备层获取业务系统的相关数据,所述数据准备层的物理模型与业务系统模型一致;
通过数据明细层对数据准备层获取的增量数据进行融合,生成原始全量数据,根据需要做成拉链表;
通过数据汇总层对所述原始全量数据进行清洗和转换,汇总聚合成数据汇总层数据;
通过数据集市层将所述原始全量数据和数据汇总层数据进行粗粒度聚合,按照业务需求对事实进行拉宽形成宽表;
通过数据应用层对所述原始全量数据、数据汇总层数据以及宽表进行粗粒度聚合汇总,以获取业务需要的事实数据;
通过数据应用层将所述事实数据同步至其他服务库。
2.根据权利要求1所述的数据仓库建设方法,其特征在于,通过数据准备层获取业务系统的相关数据,包括:
实时采集MySQL中的binlog的日志到Kafka中,映射Kafka中的topic数据至所述数据准备层;
在所述数据准备层中,对获取的业务系统的相关数据不做清洗或/和转换,所述数据准备层的表与topic数据一一对应,所述相关数据包括业务系统的源数据、日志和爬虫数据。
3.根据权利要求1所述的数据仓库建设方法,其特征在于,数据明细层不对原始全量数据进行清洗或/和转换;所述拉链表记录每条信息的生命周期,且所述拉链表只记录发生变化的数据。
4.根据权利要求3所述的数据仓库建设方法,其特征在于,所述拉链表的表名带有his标志,使用dwd_start_date代表每条信息的有效开始数据,使用dwd_end_date代表每条信息的有效结束数据,ygpdw_active代表每条信息在数据仓库中是否有效。
5.根据权利要求1所述的数据仓库建设方法,其特征在于,为所述ETL设置SQL脚本模板,所述SQL脚本对应一个表,所述SQL脚本的脚本名即表名;在所述SQL脚本模板中,使用INPUT_TABLE表示依赖表,OUTPUT_TABLE表示结果表,每个SQL脚本的注释中带建表语句。
6.根据权利要求1所述的数据仓库建设方法,其特征在于,所述数据仓库还包括DIM层,所述DIM层中的每个表包含了事实表中指定属性的相关详细信息。
7.一种数据仓库建设装置,其特征在于,其包括:
构建单元,用于构建数据仓库,对所述数据仓库进行分层,在所述数据仓库的各层中分步完成对数据的ETL操作,所述数据仓库包括数据准备层、数据明细层、数据汇总层、数据集市层以及数据应用层;
抽取单元,用于通过数据准备层获取业务系统的相关数据,所述数据准备层的物理模型与业务系统模型一致;
拉链表生成单元,用于通过数据明细层对数据准备层获取的增量数据进行融合,生成原始全量数据,根据需要做成拉链表;
转换单元,用于通过数据汇总层对所述原始全量数据进行清洗和转换,汇总聚合成数据汇总层数据;
宽表生成单元,用于通过数据集市层将所述原始全量数据和数据汇总层数据进行粗粒度聚合,按照业务需求对事实进行拉宽形成宽表;
加载单元,用于通过数据应用层对所述原始全量数据、数据汇总层数据以及宽表进行粗粒度聚合汇总,以获取业务需要的事实数据;
输出单元,用于通过数据应用层将所述事实数据同步至其他服务库。
8.一种数据仓库建设系统,其特征在于,其包括:
所述数据仓库建设系统用于接收所述源数据层提供的基础数据,并对所述基础数据进行分布式ETL操作;其包括数据准备层、数据明细层、数据汇总层、数据集市层以及数据应用层;
其中,所述数据准备层,用于获取业务系统的相关数据,所述数据准备层的物理模型与业务系统模型一致;
所述数据明细层,用于对数据准备层获取的增量数据进行融合,生成原始全量数据,根据需要做成拉链表;
所述数据汇总层,用于对所述原始全量数据进行清洗和转换,汇总聚合成数据汇总层数据;
所述数据集市层,用于将所述原始全量数据和数据汇总层数据进行粗粒度聚合,按照业务需求对事实进行拉宽形成宽表;
所述数据应用层,用于进一步对所述原始全量数据、数据汇总层数据以及宽表进行粗粒度聚合汇总,以获取业务需要的事实数据。
9.一种电子设备,其特征在于,包括:存储有可执行程序代码的存储器;与所述存储器耦合的处理器;所述处理器调用所述存储器中存储的所述可执行程序代码,用于执行权利要求1至6任一项所述的一种数据仓库建设方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储计算机程序,其中,所述计算机程序使得计算机执行权利要求1至6任一项所述的一种数据仓库建设方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110906349.1A CN113742325A (zh) | 2021-08-09 | 2021-08-09 | 数据仓库建设方法、装置、系统、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110906349.1A CN113742325A (zh) | 2021-08-09 | 2021-08-09 | 数据仓库建设方法、装置、系统、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113742325A true CN113742325A (zh) | 2021-12-03 |
Family
ID=78730605
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110906349.1A Pending CN113742325A (zh) | 2021-08-09 | 2021-08-09 | 数据仓库建设方法、装置、系统、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113742325A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115470217A (zh) * | 2022-11-14 | 2022-12-13 | 云筑信息科技(成都)有限公司 | 一种实时解决数仓模型变化响应问题的方法 |
CN116401325A (zh) * | 2023-05-15 | 2023-07-07 | 广州飞狮数字科技有限公司 | 一种基于数据仓库模型的数据处理方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107657049A (zh) * | 2017-09-30 | 2018-02-02 | 深圳市华傲数据技术有限公司 | 一种基于数据仓库的数据处理方法 |
CN111460045A (zh) * | 2020-03-02 | 2020-07-28 | 心医国际数字医疗系统(大连)有限公司 | 数据仓库建设的建模方法、模型、计算机设备和存储介质 |
CN111475528A (zh) * | 2020-03-23 | 2020-07-31 | 深圳市酷开网络科技有限公司 | 一种基于ott的数据仓储构建方法、设备及存储介质 |
CN112182091A (zh) * | 2020-12-03 | 2021-01-05 | 光大科技有限公司 | 多源数据整合方法、系统、存储介质和电子装置 |
-
2021
- 2021-08-09 CN CN202110906349.1A patent/CN113742325A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107657049A (zh) * | 2017-09-30 | 2018-02-02 | 深圳市华傲数据技术有限公司 | 一种基于数据仓库的数据处理方法 |
CN111460045A (zh) * | 2020-03-02 | 2020-07-28 | 心医国际数字医疗系统(大连)有限公司 | 数据仓库建设的建模方法、模型、计算机设备和存储介质 |
CN111475528A (zh) * | 2020-03-23 | 2020-07-31 | 深圳市酷开网络科技有限公司 | 一种基于ott的数据仓储构建方法、设备及存储介质 |
CN112182091A (zh) * | 2020-12-03 | 2021-01-05 | 光大科技有限公司 | 多源数据整合方法、系统、存储介质和电子装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115470217A (zh) * | 2022-11-14 | 2022-12-13 | 云筑信息科技(成都)有限公司 | 一种实时解决数仓模型变化响应问题的方法 |
CN116401325A (zh) * | 2023-05-15 | 2023-07-07 | 广州飞狮数字科技有限公司 | 一种基于数据仓库模型的数据处理方法及装置 |
CN116401325B (zh) * | 2023-05-15 | 2024-03-05 | 广州飞狮数字科技有限公司 | 一种基于数据仓库模型的数据处理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3513314B1 (en) | System for analysing data relationships to support query execution | |
US10678810B2 (en) | System for data management in a large scale data repository | |
CN106294888B (zh) | 一种基于时空数据库的对象数据的订阅方法 | |
WO2018051096A1 (en) | System for importing data into a data repository | |
CN109784721B (zh) | 一种就业数据分析与数据挖掘分析的平台系统 | |
CN104205039A (zh) | 使用兴趣驱动数据管线进行数据分析的兴趣驱动商业智能系统和方法 | |
CN101141754B (zh) | 一种增值业务分析系统及其方法 | |
CN113742325A (zh) | 数据仓库建设方法、装置、系统、电子设备及存储介质 | |
CN110414259B (zh) | 一种构建数据类目、实现数据共享的方法及设备 | |
CN112540975B (zh) | 一种基于petri网的多源异构数据质量检测方法及系统 | |
CN111008521A (zh) | 生成宽表的方法、装置及计算机存储介质 | |
CN114218218A (zh) | 基于数据仓库的数据处理方法、装置、设备及存储介质 | |
CN116662441A (zh) | 一种分布式数据血缘构建及展现方法 | |
CN114254033A (zh) | 一种基于bs架构的数据处理方法及系统 | |
CN113672692A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN114416703A (zh) | 数据完整性自动监控方法、装置、设备及介质 | |
CN112527918A (zh) | 一种数据处理的方法和装置 | |
CN113741970B (zh) | 数据仓库生产环境和开发环境分离实现方法和装置 | |
CN111125045B (zh) | 一种轻量级etl处理平台 | |
CN115168361A (zh) | 一种标签管理方法和装置 | |
CN110262973B (zh) | 数据养成维护方法、装置、设备及计算机存储介质 | |
CN112905720A (zh) | 一种基于源数据管理模型的运营数据处理方法和装置 | |
Berti et al. | StarStar models: Process analysis on top of databases | |
CN115357657B (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
CN115587087B (zh) | 一种基于数据抽取和系统建模的高效数据共享平台 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |