CN117667935A - 一种数据处理方法、装置、设备及介质 - Google Patents
一种数据处理方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN117667935A CN117667935A CN202311665993.XA CN202311665993A CN117667935A CN 117667935 A CN117667935 A CN 117667935A CN 202311665993 A CN202311665993 A CN 202311665993A CN 117667935 A CN117667935 A CN 117667935A
- Authority
- CN
- China
- Prior art keywords
- data
- processed
- target
- determining
- field
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 22
- 238000000034 method Methods 0.000 claims abstract description 32
- 238000012545 processing Methods 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 16
- 230000010076 replication Effects 0.000 claims description 8
- 230000000694 effects Effects 0.000 abstract description 7
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 238000004458 analytical method Methods 0.000 description 7
- 238000007405 data analysis Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 5
- 230000002776 aggregation Effects 0.000 description 3
- 238000004220 aggregation Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000003362 replicative effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000012916 structural analysis Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据处理方法、装置、设备及介质。该方法包括:通过确定待处理数据表;基于所述待处理数据表的结构属性以及所述待处理数据表中的数据,确定所述待处理数据表的表类型;基于所述表类型,确定目标分布方式;基于所述目标分布方式将所述待处理数据表中的数据存储至目标分布式系统中。解决了现有技术中基于人工经验确定数据分布方式,导致成本高,且数据分布不合理的问题,实现减少成本消耗的同时,提高数据分布合理性,达到提高分布式系统执行性能的效果。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种数据处理方法、装置、设备及介质。
背景技术
MPP(Massively Parallel Processor,大规模并行处理)数据库是share nothing架构的分布式并行结构化数据库集群,在存储数据时,MPP会将数据划分到各个节点上进行存储,数据是否合理分布决定了数据库的执行效率。
目前,确定MPP数据库数据分布方式通常是由数据管理人员在数据库建表时指定以哪种方式进行数据分布,或者选择默认分布方式。此种方式需要人工干预,对数据库管理人员要求较高,存在因数据分布方式选择不当,导致数据分布不合理的情况。
发明内容
本发明提供了一种数据处理方法、装置、设备及介质,以实现在减少成本消耗的同时,提高数据分布合理性,达到提高分布式系统执行性能的技术效果。
根据本发明的一方面,提供了一种数据处理方法,该方法包括:
确定待处理数据表;其中,所述待处理数据表中包括原始数据以及对所述原始数据表进行处理后生成的目标数据;
基于所述待处理数据表的结构属性以及所述待处理数据表中的数据,确定所述待处理数据表的表类型;
基于所述表类型,确定目标分布方式;
基于所述目标分布方式将所述待处理数据表中的数据存储至目标分布式系统中。
根据本发明的另一方面,提供了一种数据处理装置,该装置包括:
待处理数据表确定模块,用于确定待处理数据表;其中,所述待处理数据表中包括原始数据以及对所述原始数据表进行处理后生成的目标数据;
表类型确定模块,用于基于所述待处理数据表的结构属性以及所述待处理数据表中的数据,确定所述待处理数据表的表类型;
目标分布方式确定模块,用于基于所述表类型,确定目标分布方式;
存储模块,用于基于所述目标分布方式将所述待处理数据表中的数据存储至目标分布式系统中。
根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的数据处理方法。
根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的数据处理方法。
本发明实施例的技术方案,通过确定待处理数据表;基于所述待处理数据表的结构属性以及所述待处理数据表中的数据,确定所述待处理数据表的表类型;基于所述表类型,确定目标分布方式;基于所述目标分布方式将所述待处理数据表中的数据存储至目标分布式系统中,解决了现有技术中基于人工经验确定表的分布方式,导致成本高,且数据分布不合理的问题,实现了在将待处理数据表中的数据入库前,基于待处理数据表的结构属性以及表中的数据,确定待处理数据表的表类型,进而根据表类型,确定合理的目标分布方式,通过目标分布方式将待处理数据表中的数据存储至目标分布式系统中,不仅减少成本消耗,还可以避免出现因数据分布倾斜导致分布式系统性能下降等问题,提高数据分布合理性,达到提高分布式系统执行性能的技术效果。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例一提供的一种数据处理方法的流程图;
图2是根据本发明实施例二所提供的数据处理方法示意图;
图3是根据本发明实施例二提供的一种数据处理方法的流程图;
图4是根据本发明实施例三提供的一种数据处理系统的结构示意图;
图5是根据本发明实施例四提供的一种数据处理装置的结构示意图;
图6是实现本发明实施例的数据处理方法的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例一
图1是根据本发明实施例一提供的一种数据处理方法的流程图,本实施例可适用于数据处理情况,该方法可以由数据处理装置来执行,该数据处理装置可以采用硬件和/或软件的形式实现,该数据处理装置可配置于计算设备中。如图1所示,该方法包括:
S110、确定待处理数据表。
其中,待处理数据表中包括原始数据以及对原始数据表进行处理后生成的目标数据。
在本实施例中,可以在数据库(如MPP数据库)中建表,在接收到源系统下发的未处理的原始数据时,可以将原始数据存储到建的表中。进而,可以基于业务系统对原始数据进行业务处理,生成目标数据。此时,表中包括原始数据以及目标数据,该表即为待处理数据表。其中,源系统可以是指产生要传输的数据的计算机系统,可以理解为一个数据输入的源头。
S120、基于待处理数据表的结构属性以及待处理数据表中的数据,确定待处理数据表的表类型。
其中,结构属性中包括但不限于数据表结构(如,顺序表、链表、线性表等等),行(表中每一行则包含一个完整的数据记录)、主键(表中的某个属性组,其可以唯一确定一个元记录)、列(表中每一列包含相同类型的数据)。表类型包括但不限于事实表和维度表。事实表用于记录业务事件的事实,比如交易记录、用户行为等。事实表中的每行数据代表一个业务事件(如下单、结算、评价等),每个事件都有一些与之相关的度量值,比如交易数值、点击次数等。事实表的特点是行数非常多,列数相对较少。维度表用于描述事实表中关键字纬度的具体内容。比如,在电商网站中,“物品”是一个维度,其包含物品名称、价格、类型等信息;“时间”也是一个维度,其包含日期、时间等信息。维度表的特点是行数相对较少,列数相对较多。
可以理解的是,待处理数据表是由一系列有序的行和列组成,可以对待处理数据表进行结构分析,得到其结构属性。进而,可以根据结构属性以及待处理数据表中的数据情况,分析确定待处理数据表所属的表类型。例如,待处理数据表中的行数小于预设数量(如10万条),符合维度表的特点,则认为待处理数据表的表类型为维度表。
在本实施例中,基于待处理数据表的结构属性以及待处理数据表中的数据,确定待处理数据表的表类型,包括:对待处理数据表中的数据进行分析,确定数据属性;基于待处理数据表的结构属性以及数据属性,确定待处理数据表的表类型。
其中,数据属性包括数据量、字段数以及字段类型中的至少一种。
在本实施例中,可以利用数据分析技术对待处理数据表中的数据进行分析,确定数据量、字段数以及字段类型等数据属性。进一步的,根据待处理数据表的结构属性以及数据属性,来分析待处理数据表的表类型。例如,可以预先设置每个表类型对应的判定条件,如果待处理数据表的结构属性以及数据属性满足维度表对应的判定条件,则确定该待处理数据表的表类型为维度表,否则,表类型为事实表;或者,如果待处理数据表的结构属性以及数据属性满足事实表对应的判定条件,则确定待处理数据表的表类型为事实表,,否则,表类型为维度表。可选的,维度表对应的判定条件包括具有唯一主键、行数小于预设数量(如10万条)中的至少一个条件,满足判定条件中的至少一个条件的表的表类型判定为维度表;若未满足判定条件中全部条件的表,则判定表的表类型为事实表。
S130、基于表类型,确定目标分布方式。
其中,目标分布方式中包括但不限于哈希分布方式、随机分布方式以及复制分布方式。哈希分布方式是通过将数据计算为哈希值后,按照哈希值分布到不同的节点上,以确保数据分布的均匀性。随机分布方式是通过将数据随机分布到不同节点上,以确保数据分布的平均性。复制分布方式是通过将数据复制到不同的节点上,实现数据的冗余备份和容错性。目标分布式系统可以为MMP数据库,在MMP数据库集群中包含多个服务器节点。
为了合理的将待处理数据表的数据划分至相应的节点中,可以通过分析待处理数据表是哪种表类型,确定出合适的目标分布方式。可选的,若表类型为维度表,则确定复制分布方式为目标分布方式。
示例性的,参见图2,如果待处理数据表的表类型为维度表,那么可以为该表选择复制分布方式作为目标分布方式,以通过复制分布方式将待处理数据表中的数据存储至目标数据库中。
S140、基于目标分布方式将待处理数据表中的数据存储至目标分布式系统中。
在本实施例中,如果目标分布方式为复制分布方式,那么可以将待处理数据表中的数据复制到目标数据库中不同的节点上,实现数据的冗余备份和容错性。如果目标分布方式为随机分布方式,那么可以将待处理数据表中的数据划分为多份(例如,按数据量划分),分别存储在目标数据库中不同的节点上。如果目标分布方式为哈希分布方式,那么需要基于目标分布方式以及哈希分布列将待处理数据表中的数据存储至目标分布式系统中,例如,可以基于哈希分布列数据计算哈希值,进而依据哈希值采用哈希分布方式将表中数据分布到目标分布式系统中的不同的节点上。
本实施例的技术方案,通过确定待处理数据表;基于所述待处理数据表的结构属性以及所述待处理数据表中的数据,确定所述待处理数据表的表类型;基于所述表类型,确定目标分布方式;基于所述目标分布方式将所述待处理数据表中的数据存储至目标分布式系统中,解决了现有技术中基于人工经验确定表的分布方式,导致成本高,且数据分布不合理的问题,实现了在将待处理数据表中的数据入库前,基于待处理数据表的结构属性以及表中的数据,确定待处理数据表的表类型,进而根据表类型,确定合理的目标分布方式,通过目标分布方式将待处理数据表中的数据存储至目标分布式系统中,不仅减少成本消耗,还可以避免出现因数据分布倾斜导致分布式系统性能下降等问题,提高数据分布合理性,达到提高分布式系统执行性能的技术效果。
实施例二
图3是根据本发明实施例二提供的一种数据处理方法的流程图,在前述实施例的基础上,对S130作进一步的细化。其具体的实施方式可以参见本实施例技术方案。其中,与上述实施例相同或者相应的技术术语在此不再赘述。
如图3所示,该方法具体包括如下步骤:
S210、确定待处理数据表。
S220、基于待处理数据表的结构属性以及待处理数据表中的数据,确定待处理数据表的表类型。
S230、若表类型为事实表,则对待处理数据表中的原始数据以及处理原始数据生成目标数据时所使用的执行脚本进行分析,确定原始数据中各原始字段的第一字段属性。
其中,执行脚本可以为业务模型处理原始数据生成目标数据时所使用的SQL脚本。
在本实施例中,如果待处理数据表的表类型为事实表,那么需要对事实表作进一步分析,此时可以分析待处理数据表中的原始数据以及分析处理该原始数据生成目标数据时所使用的执行脚本,确定原始数据中各原始字段的第一字段属性。例如,第一字段属性中包括但不限于字段名、字段长度、字段类型、字段所属列数据是否离散、是否为主键、是否为外键、是否为高频关联列,是否为高频聚合列、是否为等值查询列等等。
示例性的,假设原始字段A在执行脚本中频繁的用JOIN与其他字段列连接在一起,则表示原始字段A为高频关联列;如果原始字段A在执行脚本中频繁的用GROUP BY进行分组,则表示原始字段A为高频聚合列;如果原始字段A所在列数据中是赋值形式(如VAR=1,VAR=2),则表示原始字段A为等值查询列,如果原始字段A所在列数据中是每个数据均不一样,则表示原始字段A为列值离散。
S240、对于各原始字段,若原始字段的第一字段属性满足预设的候选哈希确定条件中的至少一个条件,则将待处理数据表中的与原始字段相对应的列作为哈希分布列,并确定哈希分布方式为目标分布方式,以基于目标分布方式以及哈希分布列将待处理数据表中的数据存储至目标分布式系统中。
其中,候选哈希确定条件可以用于判定哪些列可以作为哈希分布候选列。需要说明的是,对每个原始字段的处理方式均相同,以对其中任一原始字段进行处理为例进行介绍。
在本实施例中,确定原始数据中各原始字段的第一字段属性之后,可以判断原始字段的第一字段属性是否能够满足候选哈希确定条件中的至少一个条件,如果满足,则可以将待处理数据表中的与原始字段相对应的列作为哈希分布候选列,即哈希分布列。可选的,候选哈希确定条件包括列为主键、列值离散、高频关联列、高频聚合列、高频且通常是等值查询列中的至少一个条件。
基于此,可以将第一字段属性满足候选哈希确定条件中的至少一个条件的原始字段对应的列,作为哈希分布列。同时,可以在确定存在第一字段属性满足候选哈希确定条件中的至少一个条件的情况下,为该表选择哈希分布方式作为目标分布方式。进一步的,在基于目标分布方式将待处理数据表中的数据存储至目标分布式系统的过程中,可以基于哈希分布列数据计算哈希值,进而依据哈希值采用哈希分布方式将表中数据分布到目标分布式系统中的不同的节点上。
S250、若所有的原始字段的第一字段属性均未满足候选哈希确定条件,则对待处理数据表中的目标数据进行分析,确定目标数据中各目标字段的第二字段属性。
在本实施例中,如果所有的原始字段的第一字段属性均未满足候选哈希确定条件,则可以对待处理数据表中的目标数据进行分析,确定目标数据中各目标字段的第二字段属性,进而执行S240步骤。第二字段属性中包括但不限于字段名、字段长度、字段类型、字段所属列数据是否离散、是否为主键、是否为外键、是否为高频关联列,是否为高频聚合列、是否为等值查询列等等。需要说明的是,确定第二字段属性的方式与确定第一字段属性的方式类似,不做赘述。
还需要说明的是,上述S220至S230可以顺序执行,也可以并行执行,具体的执行顺序不做限定,上述顺序只是对各步骤中技术方案进行解释的顺序,不是各步骤的执行顺序。
S260、基于原始数据中各原始字段的第一字段属性,以及目标数据中各目标字段的第二字段属性,确定字段匹配结果。
在本实施例中,确定目标数据中各目标字段的第二字段属性之后,可以根据各原始字段的第一字段属性以及各目标字段的第二字段属性进行字段比对,确定两种字段中是否存在属性相匹配的字段,确定字段匹配结果。例如,原始字段A的第一字段属性中包括主键、高频关联列以及等值查询列;目标字段B的第二字段属性中也包括主键、高频关联列以及等值查询列,表示原始字段A和目标字段B属性相匹配,匹配字段则为原始字段A、目标字段B,字段匹配结果为匹配;若未存在属性相匹配的字段,则表示无匹配字段,字段匹配结果为不匹配。
S270、基于字段匹配结果,确定目标分布方式。
在本实施例中,确定字段匹配结果之后,可以根据字段匹配结果确定分配哪种目标分布方式,例如,字段匹配结果为匹配,目标分布方式为哈希分布方式,字段匹配结果为不匹配,目标分布方式为其他方式。
为了提高分布方式确定的准确性,保证数据分布的合理性,在基于字段匹配结果,确定目标分布方式的过程中,若字段匹配结果为匹配,且匹配字段的数量未达到第一预设数量,则将待处理数据表中的与匹配字段相对应的列作为哈希分布列,并确定哈希分布方式为目标分布方式;若字段匹配结果为匹配,且匹配字段的数量达到第一预设数量,则从匹配字段中确定待处理字段,将待处理数据表中的与待处理字段相对应的列作为哈希分布列,并确定哈希分布方式为目标分布方式。
在本实施例中,如果字段匹配结果为匹配(即存在匹配字段),且匹配字段的数量未达到第一预设数量(例如,第一预设数量为5,可自定义设置),则可以将待处理数据表中的与匹配字段相对应的列作为哈希分布列,此时确定哈希分布方式为目标分布方式。如果字段匹配结果为匹配(即存在匹配字段),且匹配字段的数量达到第一预设数量,则从匹配字段中选取第二字段属性满足预设条件(如比较离散且出现次数较多)的字段作为待处理字段,将待处理数据表中的与待处理字段相对应的列作为哈希分布列,此时确定哈希分布方式为目标分布方式。
示例性的,继续参见图2,如果有匹配字段,则按照此字段的列作为哈希分布列进行数据分布,如果有多个匹配字段,则从匹配字段中选择第二字段属性为分布比较离散及出现次数较多的字段的列作为哈希分布列,为该表选择哈希分布方式。
在本实施例中,基于字段匹配结果,确定目标分布方式的实现方式包括:若字段匹配结果为不匹配,则确定目标字段的第二字段属性是否满足预设分布条件;若是,则将满足预设分布条件的目标字段所对应的在待处理数据表中的列作为哈希分布列,并确定哈希分布方式为目标分布方式;若否,则确定随机分布方式为目标分布方式。
其中,预设分布条件可以为分布较离散。
在实际应用中,如果字段匹配结果为不匹配(即无匹配字段),则确定目标字段的第二字段属性是否满足预设分布条件,如果满足,则将满足预设分布条件的目标字段所对应的在待处理数据表中的列作为哈希分布列,此时将哈希分布方式作为目标分布方式;如果不满足,则将随机分布方式作为目标分布方式。
示例性的,继续参见图3,如果无匹配字段,再次对目标数据进行分析,选取第二字段属性为分布较离散的目标字段的列作为哈希分布列,进行数据分布。如果没有第二字段属性为分布较离散,则为该表选择随机分布方式,采用随机分布模式进行数据分布。
S280、基于目标分布方式将待处理数据表中的数据存储至目标分布式系统中。
本实施例的技术方案,通过在表类型为事实表的情况下,对待处理数据表中的原始数据以及处理原始数据生成目标数据时所使用的执行脚本进行分析,确定原始数据中各原始字段的第一字段属性,进而判断原始字段的第一字段属性是否满足预设的候选哈希确定条件中的至少一个条件,若是,则将待处理数据表中的与原始字段相对应的列作为哈希分布列,并确定哈希分布方式为目标分布方式,使得通过基于目标分布方式以及哈希分布列将待处理数据表中的数据存储至目标分布式系统中,哈希分布列不仅可以实现负载均衡,还可以通过将数据按照哈希值分配到不同的节点或服务器上,使得各节点或服务器的负载相对均衡,避免某些节点或服务器的负载过重。同时,在查询时,可以利用哈希值快速定位到数据所在的分布区,从而加快查询速度。如果所有的原始字段的第一字段属性均未满足候选哈希确定条件,则对待处理数据表中的目标数据进行分析,确定目标数据中各目标字段的第二字段属性,进而基于原始数据中各原始字段的第一字段属性以及目标数据中各目标字段的第二字段属性,确定字段匹配结果,根据字段匹配结果,确定更合理的目标分布方式,提高数据分布合理性,从而达到提高分布式系统执行性能的技术效果
实施例三
作为上述实施例的一可选实施例,图4是根据本发明实施例三提供的一种数据处理系统的结构示意图。具体的,可以参见下述具体内容。
参见图4,本发明所提供的技术方案可以基于数据处理系统进行实现,其中,数据处理系统包括数据获取模块,数据分析模块以及数据加载模块。数据获取模块,用于获取待处理数据表(包括原始数据和目标数据),并将待处理数据表发送至数据分析模块。数据分析模块,用于接收待处理数据表,并对待处理数据表中的数据进行分析,确定待处理数据表的目标分布方式,并将目标分布方式发送至数据加载模块。数据加载模块,用于利用数据分析模块发送的目标分布方式执行加载指令,完成数据加载。
在上述技术方案的基础上,数据分析模块包括第一分析单元和第二分析单元。第一分析单元,用于基于待处理数据表的结构属性及源系统下发的原始数据进行数据分析,确认数据量、字段数、字段类型等信息,按照维度表、事实表的特征进行分类,对于满足判定条件中的至少一项的表的表类型判定为维度表,判定条件包括:1、唯一主键;2、行数小于10万条。对于表类型为维度表的待处理数据表,采用复制分布模式进行数据分布。
第二分析单元,用于若待处理数据表的表类型为事实表,则基于原始数据的元数据及业务模型执行脚本进行分析,得到原始数据中满足候选哈希确定条件中的至少一个条件的字段所处列作为哈希分布列,候选哈希确定条件包括:1、主键列;2、列值离散;3、高频关联列;4、高频group by列;5、高频且通常是等值查询列。
在本实施例中,若原始数据中不存在满足候选哈希确定条件中的至少一个条件的字段,则根据目标数据的具体情况和原始数据的具体情况进行比对,判断是否有匹配字段,如有匹配字段,则按照匹配字段所处列作为哈希分布列,进行数据分布;如有多个匹配字段,则选择出现较离散及出现次数较多的匹配字段所处列作为哈希分布列。如无匹配字段,第一分析单元再次对目标数据进行分析,选取待处理数据表数据分布较离散的列作为哈希分布列进行数据分布,如待处理数据表数据中无分布较离散的列则采用随机分布模式进行数据分布。
本实施例的技术方案,通过确定待处理数据表;基于所述待处理数据表的结构属性以及所述待处理数据表中的数据,确定所述待处理数据表的表类型;基于所述表类型,确定目标分布方式;基于所述目标分布方式将所述待处理数据表中的数据存储至目标分布式系统中,解决了现有技术中基于人工经验确定表的分布方式,导致成本高,且数据分布不合理的问题,实现了在将待处理数据表中的数据入库前,基于待处理数据表的结构属性以及表中的数据,确定待处理数据表的表类型,进而根据表类型,确定合理的目标分布方式,通过目标分布方式将待处理数据表中的数据存储至目标分布式系统中,不仅减少成本消耗,还可以避免出现因数据分布倾斜导致分布式系统性能下降等问题,提高数据分布合理性,达到提高分布式系统执行性能的技术效果。
实施例四
图5是根据本发明实施例四提供的一种数据处理装置的结构示意图。如图5所示,该装置包括:待处理数据表确定模块310、表类型确定模块320、目标分布方式确定模块330和存储模块340。
其中,待处理数据表确定模块310,用于确定待处理数据表;其中,所述待处理数据表中包括原始数据以及对所述原始数据表进行处理后生成的目标数据;表类型确定模块320,用于基于所述待处理数据表的结构属性以及所述待处理数据表中的数据,确定所述待处理数据表的表类型;目标分布方式确定模块330,用于基于所述表类型,确定目标分布方式;存储模块340,用于基于所述目标分布方式将所述待处理数据表中的数据存储至目标分布式系统中。
本实施例的技术方案,通过确定待处理数据表;基于所述待处理数据表的结构属性以及所述待处理数据表中的数据,确定所述待处理数据表的表类型;基于所述表类型,确定目标分布方式;基于所述目标分布方式将所述待处理数据表中的数据存储至目标分布式系统中,解决了现有技术中基于人工经验确定表的分布方式,导致成本高,且数据分布不合理的问题,实现了在将待处理数据表中的数据入库前,基于待处理数据表的结构属性以及表中的数据,确定待处理数据表的表类型,进而根据表类型,确定合理的目标分布方式,通过目标分布方式将待处理数据表中的数据存储至目标分布式系统中,不仅减少成本消耗,还可以避免出现因数据分布倾斜导致分布式系统性能下降等问题,提高数据分布合理性,达到提高分布式系统执行性能的技术效果。
在上述装置的基础上,可选的,所述表类型确定模块320包括数据属性确定单元和表类型确定单元。
数据属性确定单元,用于对所述待处理数据表中的数据进行分析,确定数据属性,其中,所述数据属性包括数据量、字段数以及字段类型中的至少一种;
表类型确定单元,用于基于所述待处理数据表的结构属性以及所述数据属性,确定所述待处理数据表的表类型。
在上述装置的基础上,可选的,目标分布方式确定模块330,用于若所述表类型为维度表,则确定复制分布方式为目标分布方式。
在上述装置的基础上,可选的,目标分布方式确定模块330包括第一字段属性确定单元和分布方式确定第一单元。
第一字段属性确定单元,用于若所述表类型为事实表,则对所述待处理数据表中的原始数据以及处理所述原始数据生成目标数据时所使用的执行脚本进行分析,确定所述原始数据中各原始字段的第一字段属性;
分布方式确定第一单元,用于对于各所述原始字段,若所述原始字段的第一字段属性满足预设的候选哈希确定条件中的至少一个条件,则将所述待处理数据表中的与所述原始字段相对应的列作为哈希分布列,并确定哈希分布方式为目标分布方式,以基于所述目标分布方式以及所述哈希分布列将所述待处理数据表中的数据存储至所述目标分布式系统中。
在上述装置的基础上,可选的,目标分布方式确定模块330还包括第二字段属性确定单元、字段匹配结果确定单元和分布方式确定第二单元。
第二字段属性确定单元,用于若所有的所述原始字段的第一字段属性均未满足所述候选哈希确定条件,则对所述待处理数据表中的目标数据进行分析,确定所述目标数据中各目标字段的第二字段属性;
字段匹配结果确定单元,用于基于所述原始数据中各原始字段的第一字段属性,以及所述目标数据中各目标字段的第二字段属性,确定字段匹配结果;
分布方式确定第二单元,用于基于所述字段匹配结果,确定目标分布方式。
在上述装置的基础上,可选的,分布方式确定第二单元包括分布方式确定第三单元和分布方式确定第四单元。
分布方式确定第三单元,用于若所述字段匹配结果为匹配,且匹配字段的数量未达到第一预设数量,则将所述待处理数据表中的与所述匹配字段相对应的列作为哈希分布列,并确定哈希分布方式为目标分布方式;
分布方式确定第四单元,用于若所述字段匹配结果为匹配,且匹配字段的数量达到第一预设数量,则从所述匹配字段中确定待处理字段,将所述待处理数据表中的与所述待处理字段相对应的列作为哈希分布列,并确定哈希分布方式为目标分布方式。
在上述装置的基础上,可选的,分布方式确定第二单元包括预设分布条件检验判断单元和分布方式确定第五单元。
预设分布条件检验判断单元,用于若所述字段匹配结果为不匹配,则确定所述目标字段的第二字段属性是否满足预设分布条件;
分布方式确定第五单元,用于若是,则将满足所述预设分布条件的目标字段所对应的在所述待处理数据表中的列作为哈希分布列,并确定哈希分布方式为目标分布方式;若否,则确定随机分布方式为目标分布方式。
本发明实施例所提供的数据处理装置可执行本发明任意实施例所提供的数据处理方法,具备执行方法相应的功能模块和有益效果。
实施例四
图6是实现本发明实施例的数据处理方法的电子设备的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图6所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(ROM)12、随机访问存储器(RAM)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(ROM)12中的计算机程序或者从存储单元18加载到随机访问存储器(RAM)13中的计算机程序,来执行各种适当的动作和处理。在RAM 13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、ROM 12以及RAM 13通过总线14彼此相连。输入/输出(I/O)接口15也连接至总线14。
电子设备10中的多个部件连接至I/O接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如数据处理方法。
在一些实施例中,数据处理方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由ROM 12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到RAM 13并由处理器11执行时,可以执行上文描述的数据处理方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行数据处理方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (10)
1.一种数据处理方法,其特征在于,包括:
确定待处理数据表;其中,所述待处理数据表中包括原始数据以及对所述原始数据表进行处理后生成的目标数据;
基于所述待处理数据表的结构属性以及所述待处理数据表中的数据,确定所述待处理数据表的表类型;
基于所述表类型,确定目标分布方式;
基于所述目标分布方式将所述待处理数据表中的数据存储至目标分布式系统中。
2.根据权利要求1所述的方法,其特征在于,所述基于所述待处理数据表的结构属性以及所述待处理数据表中的数据,确定所述待处理数据表的表类型,包括:
对所述待处理数据表中的数据进行分析,确定数据属性,其中,所述数据属性包括数据量、字段数以及字段类型中的至少一种;
基于所述待处理数据表的结构属性以及所述数据属性,确定所述待处理数据表的表类型。
3.根据权利要求1所述的方法,其特征在于,所述基于所述表类型,确定目标分布方式,包括:
若所述表类型为维度表,则确定复制分布方式为目标分布方式。
4.根据权利要求1所述的方法,其特征在于,所述基于所述表类型,确定目标分布方式,包括:
若所述表类型为事实表,则对所述待处理数据表中的原始数据以及处理所述原始数据生成目标数据时所使用的执行脚本进行分析,确定所述原始数据中各原始字段的第一字段属性;
对于各所述原始字段,若所述原始字段的第一字段属性满足预设的候选哈希确定条件中的至少一个条件,则将所述待处理数据表中的与所述原始字段相对应的列作为哈希分布列,并确定哈希分布方式为目标分布方式,以基于所述目标分布方式以及所述哈希分布列将所述待处理数据表中的数据存储至所述目标分布式系统中。
5.根据权利要求4所述的方法,其特征在于,还包括:
若所有的所述原始字段的第一字段属性均未满足所述候选哈希确定条件,则对所述待处理数据表中的目标数据进行分析,确定所述目标数据中各目标字段的第二字段属性;
基于所述原始数据中各原始字段的第一字段属性,以及所述目标数据中各目标字段的第二字段属性,确定字段匹配结果;
基于所述字段匹配结果,确定目标分布方式。
6.根据权利要求5所述的方法,其特征在于,所述基于所述字段匹配结果,确定目标分布方式,包括:
若所述字段匹配结果为匹配,且匹配字段的数量未达到第一预设数量,则将所述待处理数据表中的与所述匹配字段相对应的列作为哈希分布列,并确定哈希分布方式为目标分布方式;
若所述字段匹配结果为匹配,且匹配字段的数量达到第一预设数量,则从所述匹配字段中确定待处理字段,将所述待处理数据表中的与所述待处理字段相对应的列作为哈希分布列,并确定哈希分布方式为目标分布方式。
7.根据权利要求5所述的方法,其特征在于,所述基于所述字段匹配结果,确定目标分布方式,包括:
若所述字段匹配结果为不匹配,则确定所述目标字段的第二字段属性是否满足预设分布条件;
若是,则将满足所述预设分布条件的目标字段所对应的在所述待处理数据表中的列作为哈希分布列,并确定哈希分布方式为目标分布方式;
若否,则确定随机分布方式为目标分布方式。
8.一种数据处理装置,其特征在于,包括:
待处理数据表确定模块,用于确定待处理数据表;其中,所述待处理数据表中包括原始数据以及对所述原始数据表进行处理后生成的目标数据;
表类型确定模块,用于基于所述待处理数据表的结构属性以及所述待处理数据表中的数据,确定所述待处理数据表的表类型;
目标分布方式确定模块,用于基于所述表类型,确定目标分布方式;
存储模块,用于基于所述目标分布方式将所述待处理数据表中的数据存储至目标分布式系统中。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的数据处理方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-7中任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311665993.XA CN117667935A (zh) | 2023-12-06 | 2023-12-06 | 一种数据处理方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311665993.XA CN117667935A (zh) | 2023-12-06 | 2023-12-06 | 一种数据处理方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117667935A true CN117667935A (zh) | 2024-03-08 |
Family
ID=90086025
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311665993.XA Pending CN117667935A (zh) | 2023-12-06 | 2023-12-06 | 一种数据处理方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117667935A (zh) |
-
2023
- 2023-12-06 CN CN202311665993.XA patent/CN117667935A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112860695B (zh) | 监控数据查询方法、装置、设备、存储介质及程序产品 | |
WO2017096892A1 (zh) | 索引构建方法、查询方法及对应装置、设备、计算机存储介质 | |
CN112269792A (zh) | 数据查询方法、装置、设备及计算机可读存储介质 | |
US20240126817A1 (en) | Graph data query | |
CN112204543A (zh) | 用于分布式系统的频繁模式分析 | |
CN114491253B (zh) | 观测信息处理方法、装置、电子设备及存储介质 | |
CN116226628A (zh) | 一种特征优化方法、装置、设备及介质 | |
CN117667935A (zh) | 一种数据处理方法、装置、设备及介质 | |
CN115563310A (zh) | 一种关键业务节点的确定方法、装置、设备及介质 | |
EP4174678A1 (en) | Cloud analysis scenario-based hybrid query method and system, and storage medium | |
CN115328917A (zh) | 一种查询方法、装置、设备及存储介质 | |
CN115563103B (zh) | 一种多维度聚合方法、系统、电子设备及存储介质 | |
CN111611245B (zh) | 处理数据表的方法和系统 | |
CN110737679B (zh) | 数据资源的查询方法、装置、设备及存储介质 | |
CN116244006A (zh) | 一种数据处理方法、装置、存储介质、电子设备及产品 | |
CN115576948A (zh) | 一种数据存储方法、装置、电子设备以及存储介质 | |
CN117573436A (zh) | 一种备份方法、装置、设备及存储介质 | |
CN117709903A (zh) | 一种分库方法、装置、电子设备及存储介质 | |
CN116342280A (zh) | 一种数据确定方法、装置、电子设备及存储介质 | |
CN117370213A (zh) | 一种测试数据的生成方法、装置、电子设备及存储介质 | |
CN118035278A (zh) | 一种数据库查询方法、装置、电子设备及存储介质 | |
CN117851390A (zh) | 空白凭证处理方法、装置、设备及存储介质 | |
CN117149783A (zh) | 一种数据刷新方法、装置、设备及存储介质 | |
CN117873968A (zh) | 一种协同检索方法、装置、设备及介质 | |
CN116361323A (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 |