数据集分区及文件生成方法、装置、电子设备和存储介质制造方法及图纸

技术编号:36952322 阅读:6 留言:0更新日期:2023-03-22 19:12
本申请提供了一种数据集分区及文件生成方法、装置、电子设备和存储介质,涉及计算机信息技术领域,该方法包括对预先配置的数据分区信息进行解析,获取组件读取插件;其中,所述组件读取插件包括连接参数解析接口和数据读取接口;基于所述组件读取插件读取数据,并对所述数据进行分区处理;针对分区处理后得到的每个分区数据,基于数据生成周期在分布式文件系统上生成目标文件。本申请大大减少落地小文件数量,且尽量避免数据倾斜导致资源消耗过多或不稳定的情况发生。不稳定的情况发生。不稳定的情况发生。

【技术实现步骤摘要】
数据集分区及文件生成方法、装置、电子设备和存储介质


[0001]本申请涉及计算机信息
,尤其是涉及一种数据集分区及文件生成方法、装置、电子设备和存储介质。

技术介绍

[0002]随着5G时代的来临,数据量越来越大,数据类型越来越多,对于大数据的实时接入落地工作,一般采取分布式计算框架Spark或Flink,流式读取数据按数据集落地到HDFS上。因各个数据集的数据量有大有小,平常使用默认分区落地HDFS的方式会导致HDFS小文件过多,影响整个集群性能;虽然可以使用二次处理的方式解决小文件过多的问题,但二次处理会多消耗一次集群资源,针对资源不充足情况适用性不强。针对上述问题,可自定义分区落地输出,但自定义分区容易导致数据倾斜,每个分区资源占用过大,落地流程失败。

技术实现思路

[0003]本申请的目的在于提供一种数据集分区及文件生成方法、装置、电子设备和存储介质,大大减少落地小文件数量,且尽量避免数据倾斜导致资源消耗过多或不稳定的情况发生。
[0004]第一方面,本专利技术提供一种数据集分区及文件生成方法,方法包括:对预先配置的数据分区信息进行解析,获取组件读取插件;其中,组件读取插件包括连接参数解析接口和数据读取接口;基于组件读取插件读取数据,并对数据进行分区处理;针对分区处理后得到的每个分区数据,基于数据生成周期在分布式文件系统上生成目标文件。
[0005]在可选的实施方式中,基于组件读取插件读取数据,并对数据进行分区处理,包括:基于组件读取插件读取每个数据集和数据集对应的数据量;遍历数据集地图,确定总数据量,并基于预先配置的分区数进行分区处理,确定分区平均量数据;判断是否存在历史缓存分区信息;如果存在,则基于预先构建的分区策略计算分区结果;其中,分区结果至少包括数据集、起始分区号和数据集分区数;如果不存在,校验是否调用历史缓存分区;如果是,将历史缓存分区确定为分区结果;如果否,则基于预先构建的分区策略计算分区结果。
[0006]在可选的实施方式中,在基于预先构建的分区策略计算分区结果之后,方法还包括:将分区结果赋值到历史缓存分区。
[0007]在可选的实施方式中,校验是否调用历史缓存分区,包括:遍历数据集地图,基于数据集从历史分区地图中获取起始分区号和数据集分区数;如果返回值为空,则确定不调用历史缓存分区;基于数据集分区数、分区平均数据量和数据集数据量计算校验结果;如果校验结果满足预设的阈值范围,则确定调用历史缓存分区;如果校验结果不满足预设的阈值范围,则确定不调用历史缓存分区。
[0008]在可选的实施方式中,基于预先构建的分区策略计算分区结果,包括:对数据集地图中数据量小于分区平均数据量的数据集进行过滤,并对过滤得到的小于分区平均数据量的数据集进行合并处理,得到合并数据集;基于合并数据集、分区平均数据量确定大数据量
数据集对应的分区数和每个分区分配的数据量;对变量进行初始化处理,并对初始化变量进行循环判断,以确定分区结果列表;其中,分区结果列表包括数据集、起始分区号和数据集分区数对应的字段;基于数据集分区及文件生成确定单个数据集分区信息,并将单个数据集分区信息加入至分区结果列表,得到分区结果。
[0009]在可选的实施方式中,基于数据生成周期在分布式文件系统上生成目标文件,包括:对于分区完成的数据,为每个分区生成FileSystemWriter类对象,并基于数据生成周期判断是否新建文件;如果是,基于FileSystemWriter类在分布式文件系统上生成目标文件;其中,生成的文件名包括数据集名称、分区号和时间。
[0010]在可选的实施方式中,方法还包括:如果基于FileSystemWriter类在分布式文件系统上生成文件失败,则在本地临时路径生成临时文件;在临时文件写入数据后更新推送至分布式文件系统上,以生成目标文件。
[0011]第二方面,本专利技术提供一种数据集分区及文件生成装置,装置包括:解析模块,用于对预先配置的数据分区信息进行解析,获取组件读取插件;其中,组件读取插件包括连接参数解析接口和数据读取接口;分区处理模块,用于基于组件读取插件读取数据,并对数据进行分区处理;文件生成模块,用于针对分区处理后得到的每个分区数据,基于数据生成周期在分布式文件系统上生成目标文件。
[0012]第三方面,本专利技术提供一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的计算机可执行指令,处理器执行计算机可执行指令以实现前述实施方式任一项的数据集分区及文件生成方法。
[0013]第四方面,本专利技术提供一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现前述实施方式任一项的数据集分区及文件生成方法。
[0014]本申请提供的数据集分区及文件生成方法、装置、电子设备和存储介质,该方法首先对预先配置的数据分区信息进行解析,获取组件读取插件;其中,组件读取插件包括连接参数解析接口和数据读取接口;基于组件读取插件读取数据,并对数据进行分区处理;针对分区处理后得到的每个分区数据,基于数据生成周期在分布式文件系统上生成目标文件。通过该方法可以大大减少落地小文件数量,且尽量避免数据倾斜导致资源消耗过多或不稳定的情况发生。
附图说明
[0015]为了更清楚地说明本申请具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0016]图1为本申请实施例提供的一种预先配置的整体框架示意图;
[0017]图2为本申请实施例提供的一种数据集分区及文件生成方法的流程图;
[0018]图3为本申请实施例提供的一种整体实施方式的流程图;
[0019]图4为本申请实施例提供的一种分区处理的逻辑示意图;
[0020]图5为本申请实施例提供的一种分区策略的示意图;
[0021]图6为本申请实施例提供的一种数据集分区及文件生成装置的结构图;
[0022]图7为本申请实施例提供的一种电子设备的结构图。
具体实施方式
[0023]为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
[0024]因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0025]应注意到:相似的标号和字母在下面的附图中表示类似项,因此本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据集分区及文件生成方法,其特征在于,所述方法包括:对预先配置的数据分区信息进行解析,获取组件读取插件;其中,所述组件读取插件包括连接参数解析接口和数据读取接口;基于所述组件读取插件读取数据,并对所述数据进行分区处理;针对分区处理后得到的每个分区数据,基于数据生成周期在分布式文件系统上生成目标文件。2.根据权利要求1所述的数据集分区及文件生成方法,其特征在于,基于所述组件读取插件读取数据,并对所述数据进行分区处理,包括:基于所述组件读取插件读取每个数据集和数据集对应的数据量;遍历数据集地图,确定总数据量,并基于预先配置的分区数进行分区处理,确定分区平均量数据;判断是否存在历史缓存分区信息;如果存在,则基于预先构建的分区策略计算分区结果;其中,所述分区结果至少包括数据集、起始分区号和数据集分区数;如果不存在,校验是否调用历史缓存分区;如果是,将历史缓存分区确定为分区结果;如果否,则基于预先构建的分区策略计算分区结果。3.根据权利要求2所述的数据集分区及文件生成方法,其特征在于,在基于预先构建的分区策略计算分区结果之后,所述方法还包括:将所述分区结果赋值到历史缓存分区。4.根据权利要求2所述的数据集分区及文件生成方法,其特征在于,校验是否调用历史缓存分区,包括:遍历数据集地图,基于数据集从历史分区地图中获取起始分区号和数据集分区数;如果返回值为空,则确定不调用历史缓存分区;基于数据集分区数、分区平均数据量和数据集数据量计算校验结果;如果所述校验结果满足预设的阈值范围,则确定调用历史缓存分区;如果所述校验结果不满足预设的阈值范围,则确定不调用历史缓存分区。5.根据权利要求3所述的数据集分区及文件生成方法,其特征在于,基于预先构建的分区策略计算分区结果,包括:对所述数据集地图中数据量小于分区平均数据量的数据集进行过滤,并对过滤得到的小于分区平均数据量的数据集进行合并处理,得到合并数据集;基于所述合并数据集、分区平均数据量确定大数据量数据集对应的分...

【专利技术属性】
技术研发人员:蒋维魏巍何珍
申请(专利权)人:乌鲁木齐市公安局玉林市公安局
类型:发明
国别省市:

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

1