数据合并方法、装置、电子设备、存储介质及程序产品制造方法及图纸

技术编号:28837235 阅读:16 留言:0更新日期:2021-06-11 23:34
本公开实施例公开了一种数据合并方法、装置、电子设备、存储介质及程序产品,所述方法包括:响应于对分布式文件系统的数据写入成功事件,读取当前的数据写入操作涉及的分布式文件目录下的文件信息;根据所述文件信息确定文件大小小于第一预设阈值的目标文件;在所述目标文件为多个时,将多个所述目标文件进行合并。该技术方案在通过本公开实施例这种方式,可以避免Spark写文件过程中产生过多小文件,进而能够提高分布式文件系统的文件管理效率,以及数据查询性能等。

【技术实现步骤摘要】
数据合并方法、装置、电子设备、存储介质及程序产品
本公开实施例涉及计算机
,具体涉及一种数据合并方法、装置、电子设备、存储介质及程序产品。
技术介绍
在大数据时代,随着互联网技术的迅速崛起与普及,人们在不同领域采集到的数据量之大,达到了前所未有的程度。同时,数据的产生、存储和处理方式发生了革命性的变化,人们的工作和生活基本上都可以用数字化表示,数据的使用查询非常频繁。Spark是专为大规模数据处理而设计的快速通用的计算引擎,是现在形成一个高速发展应用广泛的生态系统。Spark可完成各种各样的运算,包括SQL查询、文本处理、机器学习等。Spark还提供了大量的库,包括SparkCore、SparkSQL、SparkStreaming、MLlib、GraphX。然而,通过SparkSQL或者SparkStreaming写Hive或者直接写入HDFS时,过多的小文件会对NameNode内存管理等产生巨大的压力,会影响整个集群的稳定运行。因此,如何解决Spark在写Hive或者直接写入HDFS时产生过多小文件已成为本领域技术人员需要解决的主要问题之一。
技术实现思路
本公开实施例提供一种数据合并方法、装置、电子设备、存储介质及程序产品。第一方面,本公开实施例中提供了一种数据合并方法,包括:响应于对分布式文件系统的数据写入成功事件,读取当前的数据写入操作涉及的分布式文件目录下的文件信息;根据所述文件信息确定文件大小小于第一预设阈值的目标文件;在所述目标文件为多个时,将多个所述目标文件进行合并。进一步地,所述数据写入操作包括大数据处理分析引擎将数据处理结果写入所述分布式文件系统的操作。进一步地,所述方法还包括:响应于当前任务向所述分布式文件系统输出数据的请求,向所述分布式文件系统发送数据写入请求,以将所要输出的数据写入所述分布式文件系统的所述分布式文件目录下;接收所述分布式文件系统返回的所述数据写入成功事件。进一步地,所述第一预设阈值基于所述分布式文件系统中存储数据时所切分的磁盘块大小预先确定。进一步地,在所述目标文件为多个时,将多个所述目标文件进行合并,包括:根据所述目标文件的文件大小进行分组,使得每组中包括的多个目标文件的文件大小之和大于或等于所述第一预设阈值,且小于或等于第二预设阈值;将每组中的所述目标文件进行合并。进一步地,将每组中的所述目标文件进行合并,包括:调用所述分布式文件系统中的文件合并接口,将每组中的所述目标文件进行合并。进一步地,根据所述目标文件的文件大小进行分组,使得每组中包括的多个目标文件的文件大小之和大于或等于所述第一预设阈值,且小于或等于第二预设阈值,包括:将所述目标文件按照所述文件大小进行排序;将排序结果中排在较大一侧的一个所述目标文件与排在较小一侧的一个或多个目标文件分为一组,且所述一组中所述目标文件的文件大小之和大于或等于所述第一预设阈值,且小于或等于所述第二预设阈值;所述排序结果中已分组的所述目标文件,并保留未分组的所述目标文件,并重复上一步骤,直到完成所有所述目标文件的分组为止。第二方面,本公开实施例中提供了一种数据合并方法,包括:响应于文件信息读取请求,返回当前进行数据写入操作的分布式文件目录下的文件信息;接收对所述分布式文件目录下的目标文件进行合并操作的合并请求;根据所述合并请求对所述目标文件进行合并操作。进一步地,响应于文件信息读取请求,返回当前进行数据写入操作的分布式文件目录下的文件信息之前,所述方法还包括:接收大数据处理分析引擎的数据写入请求;根据所述数据写入请求将所述数据写入请求中指定的数据写入所述分布式文件目录下;向所述大数据处理分析引擎返回数据写入成功事件。进一步地,根据所述合并请求对所述目标文件进行合并操作,包括:获取所述合并请求中所述目标文件的分组信息;根据所述分组信息将同一分组中的多个所述目标文件进行合并。第三方面,本公开实施例中提供了一种数据合并方法,包括:响应于对分布式文件系统的数据写入成功事件,大数据处理分析引擎向分布式文件系统发送文件信息读取请求;所述分布式文件系统响应于文件信息读取请求,返回所述数据写入成功事件对应的数据写入操作涉及的分布式文件目录下的文件信息;所述大数据处理分析引擎根据所述文件信息确定文件大小小于第一预设阈值的目标文件;在所述目标文件为多个时,所述大数据处理分析引擎向所述分布式文件系统发送将多个所述目标文件进行合并操作的合并请求;所述分布式文件系统接收对所述分布式文件目录下的目标文件进行合并操作的合并请求,并根据所述合并请求对所述目标文件进行合并操作。进一步地,所述数据写入操作包括大数据处理分析引擎将数据处理结果写入所述分布式文件系统的操作。进一步地,所述方法还包括:响应于当前任务向所述分布式文件系统输出数据的请求,向所述分布式文件系统发送数据写入请求,以将所要输出的数据写入所述分布式文件系统的所述分布式文件目录下;所述分布式文件系统接收所述大数据处理分析引擎的所述数据写入请求,并根据所述数据写入请求将所述数据写入请求中指定的所要输出的数据写入所述分布式文件目录下,以及向所述大数据处理分析引擎返回数据写入成功事件。进一步地,所述第一预设阈值基于所述分布式文件系统中存储数据时所切分的磁盘块大小预先确定。进一步地,在所述目标文件为多个时,所述大数据处理分析引擎向所述分布式文件系统发送将多个所述目标文件进行合并操作的合并请求,包括:所述大数据处理分析引擎根据所述目标文件的文件大小进行分组,使得每组中包括的多个目标文件的文件大小之和大于或等于所述第一预设阈值,且小于或等于第二预设阈值;所述大数据处理分析引擎向所述分布式文件系统发送所述合并请求,以将每组中的所述目标文件进行合并。进一步地,所述大数据处理分析引擎向所述分布式文件系统发送所述合并请求,以将每组中的所述目标文件进行合并,包括:所述大数据处理分析引擎通过调用所述分布式文件系统中的文件合并接口,将每组中的所述目标文件进行合并。进一步地,所述大数据处理分析引擎根据所述目标文件的文件大小进行分组,使得每组中包括的多个目标文件的文件大小之和大于或等于所述第一预设阈值,且小于或等于第二预设阈值,包括:所述大数据处理分析引擎将所述目标文件按照所述文件大小进行排序;所述大数据处理分析引擎将排序结果中排在较大一侧的一个所述目标文件与排在较小一侧的一个或多个目标文件分为一组,且所述一组中所述目标文件的文件大小之和大于或等于所述第一预设阈值,且小于或等于所述第二预设阈值;所述大数据处理分析引擎将所述排序结果中已分组的所述目标文件,并保留未分组的所述目标文件,并重复上一步骤,直到完成所有所述目标文件的分组为止。进一步地,本文档来自技高网...

【技术保护点】
1.一种数据合并方法,包括:/n响应于对分布式文件系统的数据写入成功事件,读取当前的数据写入操作涉及的分布式文件目录下的文件信息;/n根据所述文件信息确定文件大小小于第一预设阈值的目标文件;/n在所述目标文件为多个时,将多个所述目标文件进行合并。/n

【技术特征摘要】
1.一种数据合并方法,包括:
响应于对分布式文件系统的数据写入成功事件,读取当前的数据写入操作涉及的分布式文件目录下的文件信息;
根据所述文件信息确定文件大小小于第一预设阈值的目标文件;
在所述目标文件为多个时,将多个所述目标文件进行合并。


2.根据权利要求1所述的方法,其中,所述数据写入操作包括大数据处理分析引擎将数据处理结果写入所述分布式文件系统的操作。


3.一种数据合并方法,包括:
响应于文件信息读取请求,返回当前进行数据写入操作的分布式文件目录下的文件信息;
接收对所述分布式文件目录下的目标文件进行合并操作的合并请求;
根据所述合并请求对所述目标文件进行合并操作。


4.一种数据合并方法,包括:
响应于对分布式文件系统的数据写入成功事件,大数据处理分析引擎向分布式文件系统发送文件信息读取请求;
所述分布式文件系统响应于文件信息读取请求,返回所述数据写入成功事件对应的数据写入操作涉及的分布式文件目录下的文件信息;
所述大数据处理分析引擎根据所述文件信息确定文件大小小于第一预设阈值的目标文件;
在所述目标文件为多个时,所述大数据处理分析引擎向所述分布式文件系统发送将多个所述目标文件进行合并操作的合并请求;
所述分布式文件系统接收对所述分布式文件目录下的目标文件进行合并操作的合并请求,并根据所述合并请求对所述目标文件进行合并操作。


5.一种数据合并装置,包括:
第一响应模块,被配置为响应于对分布式文件系统的数据写入成功事件,读取当前的数据写入操作涉及的分布式文件目录下的文件信息;
确定模块,被配置为根据所述文件信息确定文件大小小于第一预设阈值的目标文件;
第...

【专利技术属性】
技术研发人员:不公告发明人
申请(专利权)人:拉卡拉支付股份有限公司
类型:发明
国别省市:北京;11

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

1