掌桥专利:专业的专利平台
掌桥专利
首页

数据仓库的数据处理方法、装置、电子设备和存储介质

文献发布时间:2024-04-18 20:01:23


数据仓库的数据处理方法、装置、电子设备和存储介质

技术领域

本公开涉及计算机技术领域,具体涉及一种数据仓库的数据处理方法、装置、电子设备和存储介质。

背景技术

随着数据的爆发式增长和数据应用需求的多元化,极大增加了数据仓库架构设计的复杂度。现有技术的数据仓库架构设计的数据仓库分层对数据的汇总方法较为单一,数据汇总程度较低,应用端使用时存在开发量大、计算耗时长、出错率高等问题,导致数据仓库分层无法快速响应应用端的多样化需求。

发明内容

本申请实施例提供了一种数据仓库的数据处理方法、装置、电子设备和存储介质,能够解决数据仓库分层无法快速响应应用端的多样化需求的问题。

第一方面,本申请实施例提供了一种数据仓库的数据处理方法,应用于源数据系统,方法包括:

通过源数据系统的数据源层获取待处理数据。

通过数据源层增加待处理数据的数据日期,得到待处理数据的初始数据表。

通过源数据系统的数据明细层对初始数据表执行清洗规范化操作,得到数据明细表。

通过源数据系统的数据轻汇总层按照目标字段对数据明细表执行数据合并操作,得到数据汇总表。

通过源数据系统的数据主题中间层基于目标主题和主题表设计类别删除数据汇总表中不符合目标主题的数据,生成第一数据主题表。第一数据主题表包括第一原子标签和第一原子指标。

通过源数据系统的数据应用层按照第一原子标签和第一原子指标对第一数据主题表进行分类,生成包括第一原子标签和第一原子指标的数据应用表。

在一个可能实现的实施例中,通过源数据系统的数据明细层对初始数据表执行清洗规范化操作,得到数据明细表,数据仓库的数据处理方法包括:

在初始数据表中包括新增接口数据的情况下,将初始数据表中的数据按照账期进行分区,生成数据明细表。

在初始数据表中包括全量接口数据的情况下,将初始数据表中的数据以全量覆盖的方式生成数据明细表。

在初始数据表中包括增量接口数据的情况下,将初始数据表中的数据建立拉链表生成数据明细表。

在一个可能实现的实施例中,通过源数据系统的数据主题中间层基于目标主题和主题表设计类别删除数据汇总表中不符合目标主题的数据,生成第一数据主题表。第一数据主题表包括第一原子标签和第一原子指标,数据仓库的数据处理方法还包括:

基于主题表设计类别提取数据汇总表中的数据,生成第二数据主题表。

删除第二数据主题表中不符合目标主题的数据,得到第一数据主题表。

在一个可能实现的实施例中,通过源数据系统的数据主题中间层基于目标主题和主题表设计类别删除数据汇总表中不符合目标主题的数据,生成第一数据主题表;第一数据主题表包括第一原子标签和第一原子指标,包括:

删除数据汇总表中不符合目标主题的数据生成第二数据主题表。

基于主题表设计类别提取第二数据主题表中的对应数据,得到第一数据主题表。

在一个可能实现的实施例中,该方法还包括:

比较目标层级的数据表和目标层级的上一层级的数据表的核心字段数量是否相等。目标层级的数据表是由目标层级上一层级发送的。目标层级是数据源层级、数据明细层级、数据轻汇总层级、数据主题中间层级以及数据应用层级中的一个层级。目标层级上一层级是除目标层级之外的数据源层级、数据明细层级、数据轻汇总层级、数据主题中间层级以及数据应用层级中的一个层级。

若核心字段数量相等,则目标层级向目标层级下一层级发送第一数据表。目标层级下一层级包括除目标层级和目标层级上一层级外的数据源层级、数据明细层级、数据轻汇总层级、数据主题中间层级以及数据应用层级中的一个层级。

若核心字段数量不相等,则向目标层级上一层级发送提示信息。

在一个可能实现的实施例中,在通过源数据系统的数据应用层按照第一原子标签和第一原子指标对第一数据主题表进行分类,生成包括第一原子标签和第一原子指标的数据应用表之后,方法还包括:

接收用户的查询请求,查询请求包括目标原子标签和目标原子指标。第一原子标签包括目标原子标签。第一原子指标包括目标原子指标。

响应于查询请求,基于目标原子标签和目标原子指标查询数据应用表中的相应数据,得到目标查询信息。

第二方面,本申请实施例提供了一种数据仓库的数据处理装置,数据处理装置包括获取模块,用于通过源数据系统的数据源层获取待处理数据。

增加模块,用于通过数据源层增加待处理数据的数据日期,得到待处理数据的初始数据表。

第一执行模块,用于通过源数据系统的数据明细层对初始数据表执行清洗规范化操作,得到数据明细表。

第二执行模块,用于通过源数据系统的数据轻汇总层按照目标字段对数据明细表执行数据合并操作,得到数据汇总表。

生成模块,用于通过源数据系统的数据主题中间层基于目标主题和主题表设计类别删除数据汇总表中不符合目标主题的数据,生成第一数据主题表。第一数据主题表包括第一原子标签和第一原子指标。

存储模块,用于通过源数据系统的数据应用层按照第一原子标签和第一原子指标对第一数据主题表进行分类,生成包括第一原子标签和第一原子指标的数据应用表。

第三方面,本申请实施例提供了一种电子设备,该电子设备包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时执行实现上述数据仓库的数据处理方法。

第四方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述数据仓库的数据处理实施例的各个过程。

第五方面,本申请实施例提供了一种计算机程序产品,计算机程序产品中的指令由电子设备的处理器执行时,使得电子设备执行实现上述数据仓库的数据处理的各个过程。

本申请实施例提供的数据仓库的数据处理方法、装置、电子设备、计算机可读存储介质和计算机程序产品,通过源数据系统的数据源层获取待处理数据;通过数据源层增加待处理数据的数据日期,得到待处理数据的初始数据表;通过源数据系统的数据明细层对初始数据表执行清洗规范化操作,得到数据明细表;通过源数据系统的数据轻汇总层按照目标字段对数据明细表执行数据合并操作,得到数据汇总表;通过源数据系统的数据主题中间层基于目标主题和主题表设计类别删除数据汇总表中不符合目标主题的数据,生成第一数据主题表;第一数据主题表包括第一原子标签和第一原子指标;通过源数据系统的数据应用层按照第一原子标签和第一原子指标对第一数据主题表进行分类,生成包括第一原子标签和第一原子指标的数据应用表。由此,本申请实施例明确了数据仓库中各个层级的处理数据的职责和汇总方法,进一步地,在数据仓库中新增了数据主题中间层,对数据轻汇总层所传输的数据按照目标主题和主题表设计类别进行划分,数据应用层能够根据第一原子标签和第一原子指标对数据主题中间层所传输的数据进行分类,能够提升数据的汇总程度,更加快速地响应用户的应用需求。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面对本申请实施例中所需要使用的附图作简单的介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。

图1为本申请实施例提供的一种数据仓库的数据处理方法的流程图;

图2为本申请实施例提供的一种数据仓库中的数据主题中间层的主题分域方法的结构框图;

图3为本申请实施例提供的一种数据仓库的各层级的结构框图;

图4为本申请实施例提供的一种数据仓库中的数据仓库层关于个人主题数据表的传输结构框图;

图5为本申请实施例提供的一种数据仓库中的数据仓库层关于家庭主题数据表的传输结构框图;

图6为本申请实施例提供的一种数据仓库的数据处理装置的结构框图;

图7为本申请实施例提供的一种数据仓库的数据处理电子设备的结构图。

具体实施方式

下面将详细描述本申请的各个方面的特征和示例性实施例,为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本申请进行进一步详细描述。应理解,此处所描述的具体实施例仅意在解释本申请,而不是限定本申请。对于本领域技术人员来说,本申请可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本申请的示例来提供对本申请更好的理解。

在本文中,诸如第一第二等之类的关系术语仅仅用来将一个实体或操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。

随着数据的爆发式增长以及大数据技术的发展,对于大批量数据的存储和运算等相关数据处理问题亟待解决,需要重视数据仓库的架构设计和数据仓库的分层治理工作。

现有技术的数据仓库的架构设计可以包括数据源层(Operation Data Store,ODS)、数据仓库层(Data Warehouse,DW)以及数据应用层(Application Data Summary,ADS),其中,数据仓库层(Data Warehouse,DW)可以包括数据明细层(Data WarehouseDetail,DWD)和数据轻汇总层(Data Warehouse Summary,DWS)。

而现有技术的数据仓库分层治理工作分别可以为:

数据源层(Operation Data Store,ODS)是后续数据仓库层的加工数据来源;

数据仓库层(Data Warehouse,DW)可以包括数据明细层(Data WarehouseDetail,DWD)和数据轻汇总层(Data Warehouse Summary,DWS),而数据明细层(DataWarehouse Detail,DWD)和数据轻汇总层(Data Warehouse Summary,DWS)是数据平台的主体内容。数据明细层(Data Warehouse Detail,DWD)和数据轻汇总层(Data WarehouseSummary,DWS)的数据是数据源层(Operation Data Store,ODS)数据通过数据仓库技术(Extract Transform Load,ETL)清洗、抓换、加载生成的。

数据应用层(Application Data Summary,ADS)主要是各个业务方或者部门所产生的数据汇总处,可以基于数据明细层(Data Warehouse Detail,DWD)和数据轻汇总层(Data Warehouse Summary,DWS)的数据建立数据集市(Data Mart,DM),是应用端的数据生成层。

大量数据仓库层((Data Warehouse,DW))的数据明细层(Data WarehouseDetail,DWD)和数据轻汇总层(Data Warehouse Summary,DWS)的构建主要基于第三范式(3NF)。第一范式(1NF):数据表中的每一列(每个字段)必须是不可拆分的最小单元,也就是确保每一列的原子性;第二范式(2NF):满足1NF后,要求表中的所有列,都必须依赖于主键,而不能有任何一列与主键没有关系,也就是说一个表只描述一件事情;第三范式(3NF):必须先满足第二范式(2NF),要求:表中的每一列只与主键直接相关而不是间接相关。

其中,范式(可以称为数据库设计范式或数据库的设计范式)是符合某一种级别的关系模式的集合。构造数据库必须遵循一定的规则。在关系数据库中,这种规则就是范式。关系数据库中的关系必须满足一定的要求,即满足不同的范式。目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、Boyce-Codd范式(BCNF)、第四范式(4NF)和第五范式(5NF)。满足最低要求的范式是第一范式(1NF)。在第一范式的基础上进一步满足更多要求的称为第二范式(2NF),其余范式以此类推。

现有技术根据该数据架构设计和数据仓库的分层治理工作对大量数据进行汇总和分类,能够提高数据仓库中的存储数据传输的有序性。

经本申请人研究发现,目前的这种数据仓库的数据处理方法存在以下技术问题:在数据仓库架构设计的数据仓库层上所包括的数据明细层和数据轻汇总层,仅对数据进行简单的汇总,且数据的汇总方法单一(可以包括简单的维度轻汇总或者3NF汇总),数据的汇总程度较低,应用端使用时存在开发量大、计算耗时长、出错率高、口径难统一以及不便于朔源等问题,无法快速响应应用端的多样化需求。

鉴于上述研究发现,本申请实施例提供了一种数据仓库的数据处理方法,以解决现有技术中存在的上述技术问题。

本申请实施例的技术构思在于:在现有技术的数据架构设计数据仓库的分层治理工作的基础上,进一步规范数据仓库的分层治理工作,并在数据仓库中的数据仓库层增加一个数据主题中间层,对数据按照主题和主题表设计类别进行划分后,在应用时能够降低应用端开发代码量、降低计算耗时、统一口径、降低出错率,更便捷的进行问题朔源,提升响应应用端多样化需求的速度。

为简便描述,数据源层在下文可以统称为ODS层,数据仓库层可以统称为DW层,数据应用层可以统称为ADS层,数据明细层可以统称为DWD层,数据轻汇总层可以统称为DWS层,数据主题中间层可以统称为DWT层。

本申请实施例提供了一种数据仓库的数据处理方法,可以应用于源数据系统,可以基于Hive SQL查询语言实现本申请的各个实施例。

源数据系统可以是指Hadoop,Hadoop是一个能够对大量数据进行分布式处理的软件框架,Hadoop实现了一个分布式文件系统(Hadoop Distributed File System,HDFS)的作用。HDFS具有高容错性的特点,并且可以部署在低廉的(low-cost)硬件上,而且HDFS还可以提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。

Hive是建立在Hadoop上的数据仓库基础构架。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),Hive是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。Hive定义了简单的类SQL查询语言,称为HQL,它允许熟悉SQL的用户查询数据。同时,这个语言也允许熟悉MapReduce开发者的开发自定义的mapper和reducer来处理内建的mapper和reducer无法完成的复杂的分析工作。Hive采用类SQL的查询方法,将SQL查询方法转换为MapReduce的job在Hadoop集群上执行。

如图1所示,数据仓库的数据处理方法步骤如下:

S101:通过源数据系统的数据源层获取待处理数据。

源数据系统的数据源层(Operation Data Store,ODS)可以通过接口接入源数据系统的待处理数据进行存储,待处理数据可以为任意一个接口传输至数据源层的准备建表的数据。

其中,接口可以分为三类:

1)新增接口:以一个账期A为基准,从账期A至当前日期的时长内所产生的数据对应的接口。

2)全量接口:以新账期A的数据覆盖原账期B的数据对应的接口。

3)增量接口:选择当前日期前的账期A,再次选择当前日期前,且账期A之后的账期B,统计在账期A和账期B之内的数据对应的接口。

在源数据系统的数据源层获取待处理数据,为后续数据源系统中的数据仓库的分层治理工作提供治理对象。

S102:通过数据源层增加待处理数据的数据日期,得到待处理数据的初始数据表。

数据日期是指记录数据接口的变更(新增或修改)日期。

初始数据表可以指包括待处理数据的数据日期的表格。

在数据源系统可以通过数据源层获取待处理数据的数据日期,保留所获取的待处理数据,使用Hive SQL查询语言对应的insert overwrite相关语句可以建立初始数据表。

S103:通过源数据系统的数据明细层对初始数据表执行清洗规范化操作,得到数据明细表。

清洗规范化操作包括去空、规范日期格式以及建立拉链表。

其中,去空表示在要求字段为非空的情况下,需要对该字段数据进行检验核查,去除字段中不需要的字符。

规范日期格式表示在将数据的日期显示格式不一致时,将其处理成一种一致的日期显示格式。

建立拉链表可以按照接口类型对接口对应的数据进行处理,具体可以表现为以下三种形式:

1)、新增接口:将ODS层数据按账期分区直接插入DWD层。

2)、全量接口:将ODS层数据以全量覆盖的方式存入DWD层。

3)、增量接口:需要将ODS层数据建立拉链表存到DWD层,拉链表的方式有两种,一种是以账期为分区在每个账期存全量最新数据,以账期为分区存储的方式比较消耗存储资源,另一种是以数据是否有效为分区,存全量完整的一份数据。

此外增量接口的拉链计算既可以在hive上完成也可以在hbase上完成,如在hbase上完成,可以将拉链过程前置到ODS层之前。

本申请实施例可以提供两种拉链表的方式存储数据,一种是全量拉链方式,另一种是区分有效和失效的拉链方式。

全量拉链方式比较耗存储资源,适合资源比较充足的情况,该方式的优势在于后续数据的使用上能够非常快捷应用,在一个示例中,在where语句中选择数据日期,可以抽取最新的数据。

而第二种拉链的方式能够更节约资源,并且将历史失效数据存在失效区,可以在使用有效数据时候减少map的范围,节省计算资源;还可以在使用失效数据分区时,便于历史数据的追溯。

数据明细层与数据源层的颗粒度不变,是在数据源层的基础上对数据源层所传输的初始数据表进行数据的清洗规范化操作,由此可得到相应格式规范的数据,能够便于使用所传输的数据。

S104:通过源数据系统的数据轻汇总层按照目标字段对数据明细表执行数据合并操作,得到数据汇总表。

数据轻汇总层(Data Warehouse Summary,DWS)在数据明细层(Data WarehouseDetail,DWD)传输的数据明细表的基础上,按照目标字段对数据明细表中的数据进行数据合并操作,其中,目标字段可以包括颗粒度,合并操作可以采用Kimball多维建模理论,颗粒度可以取业务最常用的颗粒度。

在一个示例中,当颗粒度为业务域(business support system,B域)的离线数据,数据轻汇总层可以按照用户每日数据为最细颗粒度进行数据汇总,在业务端的强需求下,还可以细分到按照用户每小时的数据进行汇总。

在一个具体示例中,需要将数据明细层的多个原始流量话单接口数据按照用户、按照日期以及按照网络类型进行流量数据的轻汇总。

在DWD层传输的三类流量话单可以包括2/3G流量话单、4G流量话单以及5G流量话单,具体可以根据下列三个表格表1、表2和表3显示:

表1:2/3G流量话单

表2:4G流量话单

表3:5G流量话单

在数据轻汇总层对数据明细层的上述三类话单进行数据轻汇总,可以按照9个维度和5个基础指标,生成对应的数据汇总表,具体可以表示为下表4:

表4:数据汇总表

S105:通过源数据系统的数据主题中间层基于目标主题和主题表设计类别删除数据汇总表中不符合目标主题的数据,生成第一数据主题表;第一数据主题表包括第一原子标签和第一原子指标。

DWT层在数DWS层的基础上对数据汇总表进行主题域的再次汇总,主题域可以包括目标主题,主题域可以按照业务需求集中度出发,如图2所示,数据主题中间层可以生成两种业务的数据主题表,分别是CHBN使用宽表和专项分析宽表,而对于CHBN使用宽表具体可以划分为C个人、H家庭、B企业、N新兴四个主题域,通过用户选择的目标主题和目标主题对应的原子标签和原子指标可以获得包括第一原子标签和第一原子指标的目标主题的第一数据主题表,实现对各个主题域的应用需求的快捷支撑。

在DWT层中存储数据时,存储每日的全量最新数据,在应用端的使用上具有极大的便利性,但在存储空间方面占用较大的空间,则在存储每日数据的生命周期相应地缩短,可以适当延长每月存储数据的生命周期。

在一个示例中,对于个人市场主题的多维度的原子标签和原子指标的宽表,宽表可以描述为第一数据主题表,其中,维度可以包括数据日期、省份、地市编码、终端编码以及渠道编码,并在维度表中记录地市编码、终端编码、渠道编码等对应的维度数据;原子标签可以包括是否全球通用户、是否办理5g套餐以及是否5g终端用户;原子指标:GPRS流量和语音时长等,在DWT层的维度、标签和指标的设计尽量贴合应用中最常用的维度、标签和指标需求。,另外,可以根据数据日期和省份对数据进行分区存储,在后续使用时能够提升数据处理的效率,具体如下表5、表6和表7所示:

表5:DWT层个人用户日表

表6:终端维度表

表7:渠道维度表

S106:通过源数据系统的数据应用层按照第一原子标签和第一原子指标对第一数据主题表进行分类,生成包括第一原子标签和第一原子指标的数据应用表。

相对于现有技术中大多的数据应用层是直接从数据轻汇总层计算数据指标,计算过程相对比较复杂,耗时较长,且在应用上使用并不便捷。本申请实施例的数据应用层将一些复杂的标签进行封装,计算好常用的指标,在应用端使用时能够提高数据使用的便捷度。

ADS层还可以通过DWT层所传输的第一数据主题表中的原子标签对第一数据主题表进行分类,生成第一数据主题表,以第一数据主题表作为自主分析工具的底层数据,能够提高数据提取的效率。

在一个示例中,在提取20220601年广东省5G终端用户的总流量时,采用相关的查询语句可以快速查询第一数据主题表的对应的数据信息,在查询语句可以选择查询流量、选择查询DWT层的第一数据主题表、数据日期选择20220601,选择省份为广东,选择查询条件为用户使用5G终端。

另外,ADS层还可以通过DWT层所传输的第一数据主题表中的原子标签,生成标签画像,可以支撑外部营销需求或者API接口标签需求;ADS层还可以通过DWT层所传输的第一数据主题表中的原子标签和原子指标计算原子标签对应用户下的各类原子指标的数值,能够快速支撑报表需求。

本申请实施例在现有技术的数据仓库的分层架构设计的基础上增加了数据主题中间层,优化后的分层架构依次表示为:ODS(数据源层)、DWD层(数据明细层)、DWS层(数据轻汇总层)、DWT层(主题服务中间层)以及ADS层(数据应用层)。本申请实施例重新明确了数据架构中各个分层的作用,优化后的分层架构可依次对数据源系统的原始数据进行相应的处理,如图3所示,具体表现为:

(1)ODS层3101是接口层3100中的数据源层,存储数据源系统上传的原始数据;

(2)DW层3200是数据仓库层(分为三层),其中,DWS层3211和DWT层3212可以统称为中间层3210:

第一层:DWD层3201是数据仓库的数据明细层,他跟ods的数据颗粒度不变,仅清洗规范化,比如去空、规范日期格式以及建立拉链表。

第二层:DWS层3211是数据仓库的轻汇总层,在这一层对数据做一些轻微的聚合,在一个示例中,流量ODS层3101是一条条话单数据,可以在DWS层3211汇总成按日按用户流量数据。

第三层:DWT层3212是数据仓库的主题中间层,是分主题域的中间层模型,DWT层是对接应用需求最多的中间层,能够改善现有技术由DWD/DWS层支撑的低效问题。

(3)最后是数据应用层(ADS)3301,也可以称为应用结果生成层。该层数据的80%由DWT层支撑,20%由DWD/DWS层共同支撑,符合二八原则,通过DWT层的第一数据主题表可以生成应用端结果性指标数据,以供应用系统3400进行查询或使用。

在数据仓库层(DW层)3200可以包括DWD层3201、DWS层3211和DWT层3212。

在一个示例中,数据仓库层(DW层)3200可以以全球通用户流量为应用指标展示个人主题,体现在数据仓库层的各个子层进行数据处理的过程,从图4可以确定,在数据仓库层(DW层)3200中的DWD层3201处理的数据表格包括全球通用户表和流量话单表,DWS层3211获取DWD层3201处理后的流量话单表,对处理后的流量话单表进行汇总,汇总后得到GPRS流量日表,DWT层3212从DWS层3211获取GPRS流量日表,同时从DWD层3201获取全球通用户流量表,根据个人主题、原子标签和原子指标分别生成个人用户标签表和个人用户指标表,其中,个人用户标签表中的原子标签可以包括是否全球通用户,个人用户指标表可以包括总流量和5G流量两个原子指标。

在另一个示例中,数据仓库层(DW层)3200可以以家宽用户折后收入为应用指标展示家庭主题,体现在数据仓库层的各个子层进行数据处理的过程,从图5可以确定,在数据仓库层(DW层)3200中的DWD层3201处理的数据表格包括家宽用户表和收入接口表,DWS层3211获取DWD层3201处理后的收入接口表,对处理后的收入接口表进行汇总,汇总后得到收入月表,DWT层3212从DWS层3211获取收入月表,同时从DWD层3201获取家宽用户表,根据家庭主题、原子标签和原子指标分别生成个人用户标签表和个人用户指标表,其中个人用户标签表中的原子标签包括是否家宽用户,个人用户指标表包括折前收入和折后收入两个指标。

本申请实施例提供的数据仓库的数据处理方法、装置、电子设备、计算机可读存储介质和计算机程序产品,通过源数据系统的数据源层获取待处理数据;通过数据源层增加待处理数据的数据日期,得到待处理数据的初始数据表;通过源数据系统的数据明细层对初始数据表执行清洗规范化操作,得到数据明细表;通过源数据系统的数据轻汇总层按照目标字段对数据明细表执行数据合并操作,得到数据汇总表;通过源数据系统的数据主题中间层基于目标主题和主题表设计类别删除数据汇总表中不符合目标主题的数据,生成第一数据主题表;第一数据主题表包括第一原子标签和第一原子指标;通过源数据系统的数据应用层按照第一原子标签和第一原子指标对第一数据主题表进行分类,生成包括第一原子标签和第一原子指标的数据应用表。由此,本申请实施例明确了数据仓库中各个层级的处理数据的职责和汇总方法,进一步地,在数据仓库中新增了数据主题中间层,对数据轻汇总层所传输的数据按照目标主题和主题表设计类别进行划分,数据应用层能够根据第一原子标签和第一原子指标对数据主题中间层所传输的数据进行分类,能够提升数据的汇总程度,更加快速地响应用户的应用需求。

在一些实施例中,通过源数据系统的数据明细层对初始数据表执行清洗规范化操作,得到数据明细表,数据仓库的数据处理方法可以包括:

在初始数据表中包括新增接口数据的情况下,将初始数据表中的数据按照账期进行分区,生成数据明细表;在初始数据表中包括全量接口数据的情况下,将初始数据表中的数据以全量覆盖的方式生成数据明细表;在初始数据表中包括增量接口数据的情况下,将初始数据表中的数据建立拉链表生成数据明细表。

在初始数据表中获取对应接口类型的数据,分别执行相应的清洗规范操作,可以对于初始数据表中的各类数据,执行清洗规范化操作,清洗规范化操作包括去空、规范日期格式以及建立拉链表,对于建立拉链表要根据数据类型采取相应的方式将数据源层的数据存储至数据明细层,数据类型可以包括新增接口数据、全量接口数据和增量接口数据,对于每个数据类型建立拉链表的方式具体表现为:

对于新增接口数据,是指将数据源层的新增数据和已存在的数据按照账期进行分区后,直接插入数据明细层。

对于全量接口数据,将数据源层的新增数据覆盖已存在的数据存储值数据明细层。

对于增量接口数据,需要将数据源层的数据建立拉链表存储至数据明细层,建立拉链表方法有两种:一种是以账期为分区在数据明细层存储每个账期的全量最新数据,这种方法比较消耗存储资源;另一种是以是否有效为分区,例如将历史失效数据存放在失效分区中,将最新生效数据存在有效分区中,分区后将数据存储至数据明细层。

对于不同数据类型的数据执行相应的清洗规范操作生成数据明细表,并存储至数据明细层,采用不同的方式对数据进行分区,便于对历史数据的追溯,进一步地,使用合适的方式存储相应类型的数据,有利于资源的合理分配。

在一些实施例中,通过源数据系统的数据主题中间层基于目标主题和主题表设计类别删除数据汇总表中不符合目标主题的数据,生成第一数据主题表;第一数据主题表包括第一原子标签和第一原子指标,数据仓库的数据处理方法可以包括:

基于主题表设计类别提取数据汇总表中的数据,生成第二数据主题表;删除第二数据主题表中不符合目标主题的数据,得到第一数据主题表。

第二数据主题表可以包括符合目标主题的数据和不符合目标主题的数据,目标主题可以包括C个人、H家庭、B企业、N新兴,数据主题中间层可以先基于主题表设计类别提取数据汇总表中对应的数据,而后删除该数据中不符合目标主题的数据,能够得到第一数据主题表,通过主题中间层基于目标主题和主题表设计类别获得相应主题的不同类别的数据,相当于数据主题中间层根据主题域对数据进行划分,实现对各个主题域的应用需求的快速支撑,能够快速响应用户的多样化需求。

在一些实施例中,将数据汇总表发送至数据主题中间层,通过源数据系统的数据主题中间层基于目标主题和主题表设计类别删除数据汇总表中不符合目标主题的数据,生成第一数据主题表;第一数据主题表包括第一原子标签和第一原子指标,数据仓库的数据处理方法可以包括:

删除数据汇总表中不符合目标主题的数据生成第二数据主题表;基于主题表设计类别提取第二数据主题表中的对应数据,得到第一数据主题表。

数据主题中间层获取数据汇总层的数据汇总表后,可以先删除数据汇总表中不符合目标主题的数据,再基于主题表设计类别提取数据汇总表中对应的数据,生成第一数据主题表,通过主题中间层基于目标主题和主题表设计类别获得相应主题的不同类别的数据,相当于数据主题中间层根据主题域对数据进行划分,实现对各个主题域的应用需求的快速支撑,能够快速响应用户的多样化需求。由此可见,删除数据汇总表中不符合目标主题的数据,和基于主题表设计类别提取数据汇总表中对应的数据的两个步骤的先后顺序并不限定。

在一些实施例中,数据仓库的数据处理方法还可以包括:

比较目标层级的第一数据表和目标层级上一层级的第二数据表的核心字段数量是否相等;目标层级是数据源层级、数据明细层级、数据轻汇总层级、数据主题中间层级以及数据应用层级中的一个层级;目标层级上一层级是除目标层级之外的数据源层级、数据明细层级、数据轻汇总层级、数据主题中间层级以及数据应用层级中的一个层级;若核心字段数量相等,则目标层级向目标层级下一层级发送第一数据表;目标层级下一层级包括除目标层级和目标层级上一层级外的数据源层级、数据明细层级、数据轻汇总层级、数据主题中间层级以及数据应用层级中的一个层级;若核心字段数量不相等,则向目标层级上一层级发送提示信息。

目标层级还可以表示为接收数据表的层级,目标层级上一层级还可以表示为发送数据表的层级,目标层级下一层级可以表示为接收目标层级发送数据表的层级。

第一数据表和第二数据表可以分别包括初始数据表、数据明细表、数据汇总表、第一数据主题表以及数据应用表中的一个数据表,数据处理可以包括各个层级对数据的处理操作,核心字段可以包括目标层级和目标层级上一层级的数据表的最大级主键,数据源层级、数据明细层级、数据轻汇总层级、数据主题中间层级以及数据应用层级可以分别描述为数据源层、数据明细层、数据轻汇总层、数据主题中间层以及数据应用层。

为减少稽核过程所消耗的计算资源,稽核过程可以只对核心字段进行稽核,无需对全量字段进行稽核,能够减少稽核的字段数据,提高稽核的效率。

由于Hadoop集群本身存在一定的稳定性问题,数据传输过程中存在出错或者丢失数据的问题,因此,需要对每个数据传输的过程进行数据稽核,保障数据仓库的各个层级间的数据平衡性。

目标层级接收目标层级上一层级发送的第二数据表,对接收的数据表进行目标层级的数据处理后生成第一数据表,将第一数据表和第二数据表进行稽核,即对两个数据表中的核心字段进行比较。

若第一数据表和第二数据表的核心字段相等,这说明数据在目标层级和目标层级上一层级之间的传输过程中不存在数据字段丢失的情况,则将目标层级经过数据处理和稽核后的第一数据表发送给目标层级下一层级。

若第一数据表和第二数据表的核心字段不相等,这说明数据在目标层级和目标层级上一层级之间的传输过程中存在数据字段丢失的情况,向目标层级上一层级发送提示信息,表示目标层级接收到的数据不完整,请求补充相应的缺失数据。

在一个示例中,如DWS层的表有用户、流量等核心字段,那么跟ods层数据一致性稽核的方式就是:count(DWS层用户数)是否等于count(ODS层用户数),SUM(DWS层流量)是否等于count(ODS层流量)。

另外,DWT层可以与DWS层比对数据字段一致性,ADS层可以与DWT层比对数据字段一致性。

通过对目标层级和目标层级上一层级的数据表的稽核过程,对数据表中的核心字段进行比较,可及时发现数据缺失等平衡性问题,保证数据在各层级间的流转的完整性。

在一些实施例中,在通过源数据系统的数据应用层按照第一原子标签和第一原子指标对第一数据主题表进行分类,生成包括第一原子标签和第一原子指标的数据应用表之后,数据仓库的数据处理方法还可以包括:

接收用户的查询请求,查询请求包括目标原子标签和目标原子指标;第一原子标签包括目标原子标签;第一原子指标包括目标原子指标;响应于查询请求,基于目标原子标签和目标原子指标查询数据应用表中的相应数据,得到目标查询信息。

当数据在数据仓库中进行数据处理存储至是数据应用层后,根据第一原子标签和第一原子指标生成数据应用表后,用户在应用端输入相应的查询信息,查询信息包括目标原子标签和目标原子指标,数据源系统响应于用户的查询请求,基于目标原子标签和目标原子指标,可快速查找数据应用表中相关的目标查询信息,能够快速响应用户的多样化需求。

在一个示例中,数据库里现有用户的信息数据如下表8和表9所示:

表8:数据库中现有的用户信息表

/>

表9:数据库中现有的用户状态表

在数据源层获取数据仓库中的增量接口数据,在初始数据表中增加数据日期,数据源层是对数据源系统的文件数和记录数进行稽核,具体如下表10和表11所示:

表10:在数据源层的用户信息表

表11:在数据源层的用户状态表

在数据源层是对数据源系统的文件数和记录数进行稽核,且稽核无误后,数据源层发送初始数据表给数据明细层,数据明细层按照数据是否有效建立拉链表,结合数据仓库内的现有数据和数据源层的增量接口数据,进行全量数据的拉链表处理。具体可以如下表12和表13所示:

表12:数据明细层的用户信息表

表13:数据明细层的用户状态表

在数据明细层需要稽核当日新增至数据明细层的数据量是否与数据原曾一致,并可考虑增加其他稽核指标,例如新增个人用户数。

在数据明细域数据源层稽核无误后,将数据明细表发送至数据轻汇总层,参照数据明细表在数据轻汇总层简单汇总个人用户数据,建立个人用户信息表,可以将数据明细表中的用户信息表和用户状态表进行汇总,生成数据汇总表,具体如下表14所示:

表14:数据轻汇总层的数据汇总表

数据轻汇总层的当日新增数据的数据量需要与数据明细层的数据量进行稽核,稽核数据量是否一致。

在数据量稽核无误后,将发送数据轻汇总层的数据汇总表至数据主题中间层,数据主题中间层接收数据汇总表,按照主题对数据汇总表的数据进行划分,例如,数据主题中间层中的一个主题是个人主题,那么将非个人是数据去掉,即将表14中的物联网用户的数据,物联网用户的相关数据可以单独在物联网主题的生成数据主题表。

在对数据汇总表进行数据主题划分后,可以结合数据轻汇总层中的其他表,例如5G套餐表和5G终端表、流量表,生成主题为个人用户的数据主题表,而数据主题表是参考kimball星形架构以及原子标签和原子指标的方式生成的,如表15所示,原子标签有:是否在网、是否5g终端以及是否5g套餐;原子指标有:流量。

表15:数据主题中间层的数据主题表

/>

数据主题中间层需要按照主题条件稽核当日新增入库到数据主题中间层的数据量是否跟数据轻汇总层一致。

在数据应用层可基于数据主题中间层获取用户所需的查询数据,可满足用户的多样化需求。

在一个示例中,数据源系统获取用户查询请求中的20220620日在网且5g套餐的个人用户标签,可从第一数据主题表查询个人用户主题的对应目标查询信息,目标查询信息可以包括个人用户对应的电话号码。

在另一个示例中,可以分别计算20220619日和20220620日个人用户在网用户中使用了5g终端且办理了5g套餐用户的每日流量数据的用户,可以从第一数据主题表查询到符合上述条件的个人用户的电话号码和对应的每日的流量数据。

此外,参见图6,本申请实施例还提供了一种数据仓库的数据处理装置200,该装置600包括获取模块601、增加模块602、第一执行模块603、第二执行模块604、删除模块605以及生成模块606,各模块之间共同完成数据仓库的数据处理过程,具体为:

获取模块601,用于通过源数据系统的数据源层获取待处理数据。

增加模块602,用于通过数据源层增加待处理数据的数据日期,得到待处理数据的初始数据表。

第一执行模块603,用于通过源数据系统的数据明细层对初始数据表执行清洗规范化操作,得到数据明细。

第二执行模块604,用于通过源数据系统的数据轻汇总层按照目标字段对数据明细表执行数据合并操作,得到数据汇总表。

删除模块605,用于通过源数据系统的数据主题中间层基于目标主题和主题表设计类别删除数据汇总表中不符合目标主题的数据,生成第一数据主题表;第一数据主题表包括第一原子标签和第一原子指标。

生成模块606,用于通过源数据系统的数据应用层按照第一原子标签和第一原子指标对第一数据主题表进行分类,生成包括第一原子标签和第一原子指标的数据应用表。

在一些实施例中,该装置可以包括生成模块,还用于在初始数据表中包括新增接口数据的情况下,将初始数据表中的数据按照账期进行分区,生成数据明细表。

生成模块,还用于在初始数据表中包括全量接口数据的情况下,将初始数据表中的数据以全量覆盖的方式生成数据明细表;

生成模块,还用于在初始数据表中包括增量接口数据的情况下,将初始数据表中的数据建立拉链表生成数据明细表。

在一些实施例中,装置还可以包括提取模块和删除模块。

提取模块,用于基于主题表设计类别提取数据汇总表中的数据,生成第二数据主题表;

删除模块,用于删除第二数据主题表中不符合目标主题的数据,得到第一数据主题表。

在一些实施例中,装置包括删除模块,删除模块用于将数据汇总表发送至数据主题中间层,基于目标主题和主题表设计类别删除数据汇总表中不符合目标主题的数据,生成第一数据主题表,包括:

删除模块,还用于删除数据汇总表中不符合目标主题的数据生成第二数据主题表;

提取模块,还用于基于主题表设计类别提取第二数据主题表中的对应数据,得到第一数据主题表。

在一些实施例中,装置还包括比较模块,用于比较目标层级的第一数据表和目标层级上一层级的第二数据表的核心字段数量是否相等;目标层级是数据源层级、数据明细层级、数据轻汇总层级、数据主题中间层级以及数据应用层级中的一个层级;目标层级上一层级是除目标层级之外的数据源层级、数据明细层级、数据轻汇总层级、数据主题中间层级以及数据应用层级中的一个层级;

发送模块,用于若核心字段数量相等,则目标层级向目标层级下一层级发送第一数据表。目标层级下一层级包括除目标层级和目标层级上一层级外的数据源层级、数据明细层级、数据轻汇总层级、数据主题中间层级以及数据应用层级中的一个层级;

发送模块,还用于若核心字段数量不相等,则向目标层级上一层级发送提示信息。

在一些实施例中,装置还包括接收模块和查询模块。

接收模块,用于接收用户的查询请求,查询请求包括目标原子标签和目标原子指标;第一原子标签包括目标原子标签;第一原子指标包括目标原子指标;

查询模块,用于响应于查询请求,基于目标原子标签和目标原子指标查询数据应用表中的相应数据,得到目标查询信息。

本申请实施例提供的数据仓库的数据处理装置的各个模块,可以实现图1提供数据仓库的数据处理方法的各个步骤的功能,并能达到其相应的技术效果,为简洁描述,在此不再赘述。

本申请实施例还提供一种电子设备,如图7所示,电子设备700可以包括:处理器701、存储器702、通信接口703以及总线710。

具体地,上述处理器701可以包括中央处理器(Central Processing Unit,CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC)或者可以配置成本申请实施例的一个或多个集成电路。

存储器702可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器702可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在一个实施例中,存储器702可以包括可移除或不可移除(或固定)的介质,或者存储器702是非易失性固态存储器。存储器702可在综合网关容载设备的内部或外部。

在一个实施例中,存储器702可以是只读存储器(Read Only Memory,ROM),在一个实施例中,该ROM可以是掩膜编程的ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可改写ROM(EAROM)或闪存或者两个或更多个以上这些的组合。

存储702可以包括只读存储器(ROM),随机存取存储器(RAM),磁盘存储介质设备,光存储介质设备,闪存设备,电气、光学或其他物理/有形的存储器存储设备。因此,通常,存储器包括一个或多个编码有包括计算机可执行指令的软件的有形(非暂态)计算机可读存储介质(例如,存储器设备),并且当该软件被执行(例如,由一个或多个处理器)时,其可操作来执行参考根据本公开的一方面的方法所描述的操作。

处理器701通过读取并执行存储器702中存储的计算机程序指令,以实现图1所示实施例中的方法S101至S106,并达到图1所示实施例执行其方法/步骤达到相应技术效果,为简洁描述在此不再赘述。

在一个示例中,电子设备700还可包括通信接口703和总线710。其中,如图7所示,处理器701、存储器702、通信接口703通过总线710连接并完成相互间的通信。

通信接口703,主要用于实现本发明实施例中各模块、装置、单元和设备之间的通信。

总线710包括硬件、软件或两者,将在文档中嵌入文件的电子设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(Accelerated Graphics Port,AGP)或其它图形总线、增强工业标准架构(Extended Industry Standard Architecture,EISA)总线、前端总线(Front Side Bus,FSB)、超传输(Hyper Transport,HT)互连、工业标准架构(Industry Standard Architecture,ISA)总线、无线带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适单总线或者两个或者更多个以上这些的组合。在合适的情况下,总线710可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。

该电子设备可以执行本申请实施例中的数据仓库的数据处理方法,从而实现结合图1描述的数据仓库的数据处理方法。

另外,结合上述实施例中的数据仓库的数据处理方法,本申请实施例可提供一种计算机存储介质来实现。该计算机存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行上述实施例中的任意一种数据仓库的数据处理方法。

本申请还提供了一种计算机程序产品,计算机程序产品中的指令由电子设备的处理器执行时,使得电子设备执行实现上述任意一项数据仓库的数据处理方法实施例的各个过程。

本申请实施例采用以上技术方案,提供了一种数据仓库的数据处理方法、装置、电子设备、计算机可读存储介质和计算机程序产品,通过源数据系统的数据源层获取待处理数据;通过数据源层增加待处理数据的数据日期,得到待处理数据的初始数据表;通过源数据系统的数据明细层对初始数据表执行清洗规范化操作,得到数据明细表;通过源数据系统的数据轻汇总层按照目标字段对数据明细表执行数据合并操作,得到数据汇总表;通过源数据系统的数据主题中间层基于目标主题和主题表设计类别删除数据汇总表中不符合目标主题的数据,生成第一数据主题表;第一数据主题表包括第一原子标签和第一原子指标;通过源数据系统的数据应用层按照第一原子标签和第一原子指标对第一数据主题表进行分类,生成包括第一原子标签和第一原子指标的数据应用表。由此,本申请实施例明确了数据仓库中各个层级的处理数据的职责和汇总方法,进一步地,在数据仓库中新增了数据主题中间层,对数据轻汇总层所传输的数据按照目标主题和主题表设计类别进行划分,数据应用层能够根据第一原子标签和第一原子指标对数据主题中间层所传输的数据进行分类,能够提升数据的汇总程度,更加快速地响应用户的应用需求。

需要明确的是,本申请并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。

以上的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、只读存储器(Read-Only Memory,ROM)、闪存、可擦除只读存储器(Erasable ReadOnly Memory,EROM)、软盘、只读光盘(Compact Disc Read-Only Memory,CD-ROM)、光盘、硬盘、光纤介质、射频(Radio Frequency,RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。

还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或源数据系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。

上面参考根据本申请的实施例的方法、装置(源数据系统)、电子设备和存储介质的流程图和/或框图描述了本公开的各方面。应当理解,流程图和/或框图中的每个方框以及流程图和/或框图中各方框的组合可以由计算机程序指令实现。这些计算机程序指令可被提供给通用计算机、专用计算机、或其它可编程数据处理装置的处理器,以产生一种机器,使得经由计算机或其它可编程数据处理装置的处理器执行的这些指令使能对流程图和/或框图的一个或多个方框中指定的功能/动作的实现。这种处理器可以是但不限于是通用处理器、专用处理器、特殊应用处理器或者现场可编程逻辑电路。还可理解,框图和/或流程图中的每个方框以及框图和/或流程图中的方框的组合,也可以由执行指定的功能或动作的专用硬件来实现,或可由专用硬件和计算机指令的组合来实现。

以上,仅为本发明的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的源数据系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。

相关技术
  • 双定子盘式电机端盖连接结构及双定子盘式电机
  • 无骨架定子结构及具有无骨架定子结构的斯特林电机
  • 一种电机骨架、定子的接线结构、电机定子和电机
技术分类

06120116550772