一种数据加载方法和装置制造方法及图纸

技术编号:18138537 阅读:36 留言:0更新日期:2018-06-06 11:53
本发明专利技术实施例提供一种数据加载方法,该方法包括:根据需要加载的数据的主键字段对需要加载的数据排序,并生成数据文件;对排序后的需要加载的数据的主键字段采样,生成第一主键字段;根据第一主键字段生成数据表的分区信息,并根据数据表的分区信息对数据表进行分区;根据数据表的分区信息对数据文件进行分组,并根据分组结果生成数据表的分区文件;将数据表的分区文件加载到对应的数据表的分区中。本发明专利技术实施例同时还提供一种数据加载装置。

【技术实现步骤摘要】
一种数据加载方法和装置
本专利技术涉及数据处理领域,尤其涉及一种数据加载方法和装置。
技术介绍
在数据库中查询数据时,首先要将数据库中的数据表在系统内先进行加载,待加载完成后才能进行数据查询。现有的数据加载方法往往对需要加载的数据按照表分区信息进行切片,然后将切片后的数据加载到分布式数据库中。然而这种数据加载方法可能会导致被加载的数据集中在某几个数据表的分区中,而其它数据表的分区不存在或者只存在少量的数据,从而导致数据切片倾斜,影响数据加载性能以及数据表分区的负载均衡。
技术实现思路
有鉴于此,本专利技术实施例期望提供一种数据加载方法和装置,以解决数据倾斜造成的数据加载性能效率低、数据表分区负载不均衡的问题。本专利技术实施例的技术方案是这样实现的:一种数据加载方法,包括:根据需要加载的数据的主键字段对所述需要加载的数据排序,并生成数据文件;对排序后的所述需要加载的数据的主键字段采样,生成第一主键字段;根据所述第一主键字段生成数据表的分区信息,并根据所述数据表的分区信息对所述数据表进行分区;根据所述数据表的分区信息对所述数据文件进行分组,并根据分组结果生成数据表的分区文件;将所述数据表的分区文件加载到对应的数据表的分区中。如上所述的方法,还包括:对所述需要加载的数据切片,得到n组预处理数据;其中,n为正整数;相应的,所述根据需要加载的数据的主键字段对所述需要加载的数据排序,并生成数据文件,包括:根据所述预处理数据的主键字段分别对所述n组预处理数据排序,并生成n个数据文件。如上所述的方法,所述对排序后的所述需要加载的数据的主键字段采样,得到第一主键字段,包括:对排序后的所述n组预处理数据的主键字段分别采样,生成n组第二主键字段;对所述n组第二主键字段整体排序,并对整体排序后的所述n组第二主键字段采样,生成所述第一主键字段。如上所述的方法,所述根据所述第一主键字段生成数据表的分区信息,并根据所述数据表的分区信息对数据表进行分区,包括:根据所述第一主键字段获取所述数据表的分区区间的起始字段和结束字段;根据所述数据表的分区区间的起始字段和结束字段对数据表进行分区。如上所述的方法,所述根据所述数据表的分区信息对所述数据文件进行分组,并根据分组结果生成数据表的分区文件,包括:根据所述数据表的分区信息将第i个数据文件分为Ni组数据文件;根据数据表的第j个分区信息在N1+N2+…+Nn组数据文件中筛选符合所述第j个分区信息的数据文件,并生成数据表的第j个分区文件;其中,i=1、2…n,j=1、2…s,s、Ni均为正整数。如上所述的方法,还包括:对所述数据表的分区文件中的数据进行切片;相应的,将所述数据表的分区文件加载到对应的数据表的分区中,包括:将进行数据切片后的所述数据表的分区文件加载到对应的数据表的分区中。一种数据加载装置,包括:排序模块,用于根据需要加载的数据的主键字段对所述需要加载的数据排序,并生成数据文件;采样模块,用于对排序后的所述需要加载的数据的主键字段采样,生成第一主键字段;分区模块,用于根据所述第一主键字段生成数据表的分区信息,并根据所述数据表的分区信息对所述数据表进行分区;处理模块,用于根据所述数据表的分区信息对所述数据文件进行分组,并根据分组结果生成数据表的分区文件;加载模块,用于将所述数据表的分区文件加载到对应的数据表的分区中。如上所述的装置,还包括:切片模块,用于对所述需要加载的数据切片,得到n组预处理数据;其中,n为正整数;所述排序模块,具体用于根据所述预处理数据的主键字段分别对所述n组预处理数据排序,并生成n个数据文件。如上所述的装置,所述采样模块,具体用于对排序后的所述n组预处理数据的主键字段分别采样,生成n组第二主键字段;对所述n组第二主键字段整体排序,并对整体排序后的所述n组第二主键字段采样,生成所述第一主键字段。如上所述的装置,所述处理模块包括:分组单元,用于根据所述数据表的分区信息将第i个数据文件分为Ni组数据文件;筛选单元,用于根据数据表的第j个分区信息在N1+N2+…+Nn组数据文件中筛选符合所述第j个分区信息的数据文件,并生成数据表的第j个分区文件;其中,i=1、2…n,j=1、2…s,s、Ni均为正整数。本专利技术实施例所提供的数据加载方法和装置,根据需要加载的数据的主键字段对需要加载的数据排序,并生成数据文件;对排序后的需要加载的数据的主键字段采样,生成第一主键字段;根据第一主键字段生成数据表的分区信息,并根据数据表的分区信息对数据表进行分区;根据数据表的分区信息对数据文件进行分组,并根据分组结果生成数据表的分区文件;将数据表的分区文件加载到对应的数据表的分区中;这样,可以确保每个数据表的分区都承担一部分数据加载任务,从而避免了数据加载任务集中在某一部分数据表分区中进行,因此提高了数据加载性,均衡了数据表分区的负载。附图说明图1为本专利技术实施例提供的一种数据加载方法的流程示意图;图2为本专利技术实施例提供的另一种数据加载方法的流程示意图;图3为本专利技术实施例提供的又一种数据加载方法的流程示意图;图4为本专利技术实施例提供的又一种数据加载方法的流程示意图;图5为本专利技术实施例提供的数据加载方法的示意图;图6为本专利技术实施例提供的一种数据加载装置的结构示意图;图7为本专利技术实施例提供的另一种数据加载装置的结构示意图;图8为本专利技术实施例提供的又一种数据加载装置的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述。图1为本专利技术实施例提供的一种数据加载方法的流程示意图,如图1所示,该方法包括以下步骤:步骤101、根据需要加载的数据的主键字段对需要加载的数据排序,并生成数据文件。具体的,步骤101根据需要加载的数据的主键字段对需要加载的数据排序,并生成数据文件可以是由数据加载装置来实现的。主键字段用于唯一标识需要加载的数据。需要说明的是,根据排序后的数据生成的数据文件是有序的数据文件。生成数据文件的时候,写入文件索引信息,有序的数据文件成为可索引的有序数据文件,可以通过索引快速定位到某个主键字段的值。步骤102、对排序后的需要加载的数据的主键字段采样,生成第一主键字段。具体的,步骤102对排序后的需要加载的数据的主键字段采样,生成第一主键字段可以是由数据加载装置来实现的。需要说明的是,可以采用固定间隔的采样方法对排序后需要加载的数据的主键字段进行采样,从而达到更好的采样效果。固定间隔个数可以根据实际需要进行设定,如果需要达到更均匀的采样效果,固定间隔的个数可以相对设定得小些,如果对采样的效果没有严格的要求,固定间隔的个数可以相对设定得大些,相应的,如果固定间隔的个数小,采样得到的第一主键字段的数量相对来说多,如果固定间隔的个数大,采样得到的第一主键字段相对来说少。步骤103、根据第一主键字段生成数据表的分区信息,并根据数据表的分区信息对数据表进行分区。具体的,步骤103根据第一主键字段生成数据表的分区信息,并根据数据表的分区信息对数据表进行分区可以是由数据加载装置来实现的。步骤104、根据数据表的分区信息对数据文件进行分组,并根据分组结果生成数据表的分区文件。具体的,步骤104根据数据表的分区信息对数据文件进行分组,并根据分组结果生成数据表的分区文件可以本文档来自技高网...
一种数据加载方法和装置

【技术保护点】
一种数据加载方法,其特征在于,所述方法包括:根据需要加载的数据的主键字段对所述需要加载的数据排序,并生成数据文件;对排序后的所述需要加载的数据的主键字段采样,生成第一主键字段;根据所述第一主键字段生成数据表的分区信息,并根据所述数据表的分区信息对所述数据表进行分区;根据所述数据表的分区信息对所述数据文件进行分组,并根据分组结果生成数据表的分区文件;将所述数据表的分区文件加载到对应的数据表的分区中。

【技术特征摘要】
1.一种数据加载方法,其特征在于,所述方法包括:根据需要加载的数据的主键字段对所述需要加载的数据排序,并生成数据文件;对排序后的所述需要加载的数据的主键字段采样,生成第一主键字段;根据所述第一主键字段生成数据表的分区信息,并根据所述数据表的分区信息对所述数据表进行分区;根据所述数据表的分区信息对所述数据文件进行分组,并根据分组结果生成数据表的分区文件;将所述数据表的分区文件加载到对应的数据表的分区中。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:对所述需要加载的数据切片,得到n组预处理数据;其中,n为正整数;相应的,所述根据需要加载的数据的主键字段对所述需要加载的数据排序,并生成数据文件,包括:根据所述预处理数据的主键字段分别对所述n组预处理数据排序,并生成n个数据文件。3.根据权利要求2所述的方法,其特征在于,所述对排序后的所述需要加载的数据的主键字段采样,得到第一主键字段,包括:对排序后的所述n组预处理数据的主键字段分别采样,生成n组第二主键字段;对所述n组第二主键字段整体排序,并对整体排序后的所述n组第二主键字段采样,生成所述第一主键字段。4.根据权利要求1所述的方法,其特征在于,所述根据所述第一主键字段生成数据表的分区信息,并根据所述数据表的分区信息对数据表进行分区,包括:根据所述第一主键字段获取所述数据表的分区区间的起始字段和结束字段;根据所述数据表的分区区间的起始字段和结束字段对数据表进行分区。5.根据权利要求2所述的方法,其特征在于,所述根据所述数据表的分区信息对所述数据文件进行分组,并根据分组结果生成数据表的分区文件,包括:根据所述数据表的分区信息将第i个数据文件分为Ni组数据文件;根据数据表的第j个分区信息在N1+N2+…+Nn组数据文件中筛选符合所述第j个分区信息的数据文件,并生成数据表的第j个分区文件;...

【专利技术属性】
技术研发人员:陈叶超刘云飞齐骥金振江柯亮钱岭
申请(专利权)人:中移苏州软件技术有限公司中国移动通信集团公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1