CN115599759A - 文件处理方法、装置、设备及存储介质 - Google Patents
文件处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115599759A CN115599759A CN202211336872.6A CN202211336872A CN115599759A CN 115599759 A CN115599759 A CN 115599759A CN 202211336872 A CN202211336872 A CN 202211336872A CN 115599759 A CN115599759 A CN 115599759A
- Authority
- CN
- China
- Prior art keywords
- data set
- distributed data
- file
- operations
- composite distributed
- 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 21
- 239000002131 composite material Substances 0.000 claims abstract description 141
- 238000000034 method Methods 0.000 claims abstract description 46
- 238000004140 cleaning Methods 0.000 claims description 52
- 230000008569 process Effects 0.000 abstract description 22
- 238000004364 calculation method Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 101000932776 Homo sapiens Uncharacterized protein C1orf115 Proteins 0.000 description 5
- 102100025480 Uncharacterized protein C1orf115 Human genes 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1748—De-duplication implemented within the file system, e.g. based on file segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供一种文件处理方法、装置、设备及存储介质,该方法包括:确定待处理的文件以及针对所述文件待执行的多个操作,其中,所述文件包括多组数据,每一操作用于输出对应的结果文件;依次执行所述多个操作,得到复合分布式数据集合,所述复合分布式数据集合为包括多个元素的元组,所述多个元素分别对应多个操作的处理结果;其中,所述多个操作中,存在至少一个操作,在执行该操作时使用所述元组中的至少一个元素;根据得到的复合分布式数据集合,输出各个操作对应的结果文件。本发明实施例降低了文件处理过程中的计算量,优化了文件的处理流程,从而提高了文件处理的效率,提升了系统对文件数据分析的性能。
Description
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种文件处理方法、装置、设备及存储介质。
背景技术
随着计算机技术的不断发展和广泛应用,用户的数量及业务类型的呈现爆炸式增长,在应用大数据技术时,需要对文件进行不同操作的处理,得到不同的结果,以满足不同业务的需求。
现有技术中,当需要对同一个文件进行多种类型的处理操作时,存在处理效率较低的问题。
发明内容
本发明实施例提供一种文件处理方法、装置、设备及存储介质,以提高文件处理效率。
第一方面,本发明实施例提供一种文件处理方法,包括:
确定待处理的文件以及针对所述文件待执行的多个操作,其中,所述文件包括多组数据,每一操作用于输出对应的结果文件;
依次执行所述多个操作,得到复合分布式数据集合,所述复合分布式数据集合为包括多个元素的元组,所述多个元素分别对应多个操作的处理结果;其中,所述多个操作中,存在至少一个操作,在执行该操作时使用所述元组中的至少一个元素;
根据得到的复合分布式数据集合,输出各个操作对应的结果文件。
可选的,依次执行所述多个操作,得到复合分布式数据集合,包括:
根据至少部分操作对应的公共处理步骤,对所述待处理的文件进行处理,得到复合分布式数据集合,所述复合分布式数据集合包括公共处理步骤对应的元素,用于存储公共处理结果;
根据所述公共处理结果,通过依次执行所述多个操作,更新所述复合分布式数据集合。
可选的,根据所述公共处理结果,通过依次执行所述多个操作,更新所述复合分布式数据集合,包括:
针对每一操作执行如下步骤:
若所述操作可使用当前复合分布式数据集合中的元素,则在可使用的元素的基础上执行所述操作,生成对应的操作结果,并根据所述操作结果更新复合分布式数据集合,更新后的复合分布式数据集合包括:公共处理步骤对应的元素,和/或,已执行的各个操作对应的元素;
在满足预设条件时,删除所述复合分布式数据集合中公共处理步骤对应的元素。
可选的,所述预设条件包括下述至少一项:所述操作之后的其他操作不需要使用公共处理结果;所述操作为所述多个操作中的最后一个操作。
可选的,根据所述至少部分操作对应的公共处理步骤,对所述待处理的文件进行处理,得到复合分布式数据集合,包括:
对所述待处理的文件中的多组数据进行转码操作,得到复合分布式数据集合;
相应的,根据所述公共处理结果,通过依次执行所述多个操作,更新所述复合分布式数据集合,包括:
根据所述复合分布式数据集合,对转码后的多组数据进行数据清洗处理,并更新复合分布式数据集合,更新后的复合分布式数据集合包括数据清洗操作对应的元素;
根据所述数据清洗操作对应的元素,对数据清洗后的多组数据执行时间拉链操作,并更新复合分布式数据集合,更新后的复合分布式数据集合包括数据清洗操作对应的元素、时间拉链操作对应的元素;
根据所述数据清洗操作对应的元素,对数据清洗后的多组数据执行统计操作,并更新复合分布式数据集合,更新后的复合分布式数据集合包括数据清洗操作对应的元素、时间拉链操作对应的元素以及统计操作对应的元素。
可选的,根据得到的复合分布式数据集合,输出各个操作对应的结果文件,包括:
在所述多个操作完成后,缓存所述复合分布式数据集合;
根据缓存的复合分布式数据集合中的各个元素,依次输出各个操作对应的结果文件,所述结果文件用于存储对应操作得到的处理结果。
可选的,所述方法还包括:根据待处理的文件,生成对应的初始分布式数据集合;
相应的,依次执行所述多个操作,得到复合分布式数据集合,包括:根据所述初始分布式数据集合,依次执行所述多个操作,得到复合分布式数据集合。
第二方面,本发明实施例提供一种文件处理装置,所述装置包括:
确定模块,用于确定待处理的文件以及针对所述文件待执行的多个操作,其中,所述文件包括多组数据,每一操作用于输出对应的结果文件;
执行模块,用于依次执行所述多个操作,得到复合分布式数据集合,所述复合分布式数据集合为包括多个元素的元组,所述多个元素分别对应多个操作的处理结果;其中,所述多个操作中,存在至少一个操作,在执行该操作时使用所述元组中的至少一个元素;
输出模块,用于根据得到的复合分布式数据集合,输出各个操作对应的结果文件。
第三方面,本发明实施例提供一种电子设备,包括:存储器和至少一个处理器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如第一方面所述文件处理方法。
第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如第一方面所述文件处理方法。
本发明实施例提供的文件处理方法、装置、设备及存储介质,在需要对待处理的文件进行多种操作处理时,只需要读取一次待处理文件,构建包括多个元素的分布式数据集合,协助实现多种操作的处理流程,不同操作之间的处理结果可以复用,降低了文件处理过程中的计算量,优化了文件的处理流程,从而提高了文件处理的效率,提升了系统对文件数据分析的性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例提供的一种应用场景图;
图2为本发明实施例提供的一种文件处理方法的流程示意图;
图3为本发明实施例提供的另一种文件处理方法的流程示意图;
图4为本发明实施例提供的一种文件处理装置的结构框图;
图5为本发明实施例提供的一种电子设备的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明实施例可以应用于对文件进行处理时,尤其是利用spark(Apache Spark计算引擎)进行分布式大数据处理时,读取文件,并对所述文件进行不同操作处理,以输出多个不同的结果。
在一些技术中,spark在对文件进行不同操作的处理时,各个不同的处理过程是单独进行的,在实际应用中,发明人发现存在如下问题:对同一个文件进行不同操作的处理时,在每次操作前,都要先读取所述文件,降低了数据处理效率,同时,不同的处理过程可能存在相同的步骤,但由于spark框架的处理机制,会将所述相同的步骤重复执行,从而加大了计算量,降低了文件处理效率。
示例性的,需要对一文件进行a、b、c三种不同操作的处理,最终相应的得到三个不同的结果,其中a操作和b操作的其他步骤前都需要对所述文件中的数据进行相同的数据清洗步骤。基于spark的基本框架,在进行a操作时,spark需要首先读取所述文件,然后进行所述数据清洗步骤,再进行所述a操作的其他步骤,最后输出所述a操作对应的结果;同理在进行所述b操作和c操作时,spark需要再次读取所述文件,然后进行相应的处理步骤。这样导致每进行一种操作都需要重复读取文件,尤其是当文件数据较多,文件存储较大时,会增加文件处理时间,同时,不同操作过程中相同的步骤需要重复执行,例如上述示例中的数据清洗步骤,也会增加数据处理时间,占用磁盘内存,从而降低计算机的性能,降低对文件处理的效率。
为解决这一问题,本发明提出一种文件处理方法,通过一次读取文件,执行不同的操作,并输出不同的操作对应的结果,同时,若不同的操作存在相同的步骤,在文件处理过程中只需要计算一次所述步骤。
图1为本发明实施例提供的一种应用场景图。如图1所示,spark在对文件进行多种操作处理时,只需要读取一次所述文件,然后进行多种操作处理,最终输出各个操作处理对应的结果。示例性的,spark进行a、b、c、…、n几种不同的操作处理时,spark读取一次文件,然后根据读取的文件执行不同的操作处理;对于存在相同步骤的不同处理过程,首先计算其相同的步骤,例如进行一次数据清洗步骤,在执行a和b的其他步骤时,直接采用所述数据清洗步骤的结果,而不用重复执行;最后结果以一个元组的形式的中间结果存储,可以从中获取不同操作对应的处理结果。
综上,本发明实施例通过读取一次文件,对文件进行不同的操作处理,得到不同操作处理对应的处理结果,同时,复用不同处理过程中的相同步骤的执行结果,优化了文件处理流程,减小了计算量,从而提高了文件处理效率,增强了系统的数据处理性能。
下面结合附图,对本发明的一些实施方式作详细说明。在各实施例之间不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
图2为本发明实施例提供的一种文件处理方法的流程示意图。本实施例中方法的执行主体可以为任意具有数据处理功能的系统,该系统可以是硬件、软件或软硬结合的形式,例如,系统具体可以为服务集群等。如图2所示,所述文件处理方法包括:
步骤201,确定待处理的文件以及针对所述文件待执行的多个操作。
具体的,可以基于spark读取待处理文件,其中,所述文件包括多组数据,示例性的,所述数据为银行的账户信息,一组数据可以包括账户等级、余额数目、变动时间等数据。
根据对所述文件的数据处理需求确定针对所述文件待执行的多个操作,示例性的,对所述数据中的无效值或缺失值进行删除,可以实现数据清洗操作;对银行账户的余额进行更新,可以实现时间拉链操作;对不同账户类型的业务信息进行统计,可以实现数据统计操作等。
每一操作用于输出对应的结果文件,即,对所述待处理文件执行所述多种操作后,需要针对每一操作,输出对应的结果文件。
可选的,可以基于spark读取待处理的文件,生成对应的初始分布式数据集合,可选的,所述分布式数据集合为RDD(Resilient Distributed Datasets,弹性分布式数据集)或者DataFrame,其中,RDD中的元素可并行计算DataFrame是spark通过列组织起来的分布式数据集合,除了具备基本RDD的特性外,还包含所存数据元素的具体内部结构;可选的,所述初始分布式数据集合中包括所述待处理文件中的数据。在后续执行多个操作时,具体可以根据所述初始分布式数据集合,依次执行所述多个操作。
步骤202,依次执行所述多个操作,得到复合分布式数据集合,所述复合分布式数据集合为包括多个元素的元组,所述多个元素分别对应多个操作的处理结果。其中,所述多个操作中,存在至少一个操作,在执行该操作时使用所述元组中的至少一个元素。
具体的,可以基于初始分布式数据集合,依次执行所述多个操作,得到新的分布式数据集合,其中,该分布式数据集合中包含了对应于不同操作的元素,因此记为复合分布式数据集合。每一操作可以包括至少一个步骤,不同操作包含的步骤可以相同,也可以不同。
可选的,在多个操作的处理过程中,可以将所述多个操作的部分或全部操作步骤的执行结果保存至所述复合分布式数据集合。当前执行某一操作时,若当前操作与之前已经执行过的某一操作存在相同步骤时,可以直接调用所述步骤的结果对应的元素,而不需要重复计算。
可选的,依次执行所述多个操作,得到复合分布式数据集合,可以包括:根据所述至少部分操作对应的公共处理步骤,对所述待处理的文件进行处理,得到复合分布式数据集合,所述复合分布式数据集合包括公共处理步骤对应的元素,用于存储公共处理结果;根据所述公共处理结果,通过依次执行所述多个操作,更新所述复合分布式数据集合。
其中,所述公共处理步骤可以是多个操作中的全部操作都需要执行的步骤,也可以是其中部分操作(至少两个操作)都需要执行的步骤。
示例性的,操作a和操作b都包括数据清洗步骤,该步骤可以作为公共处理步骤,在执行所述a操作和所述b操作前,先将执行数据清洗步骤,并将其结果作为一个元素存储在复合分布式数据集合中,然后可以直接调用所述复合分布式数据集合对应的数据清洗结果的元素,分别执行所述a操作和所述b操作,执行完后,将a操作和b操作对应的处理结果分别作为元素添加到复合分布式数据集合中,得到新的复合分布式数据集合。
同理若存在其他的公共处理步骤,只需要执行一次并保存其结果,而不需要在每次操作时都执行一次,通过复用公共处理步骤的结果,减小了计算量,提高了操作的执行效率。
步骤203,根据得到的复合分布式数据集合,输出各个操作对应的结果文件。
具体的,通过读取所述复合分布式数据集合中对应的元素,生成各个操作对应的结果文件。
示例性的,所述复合分布式数据集合中的元素a对应所述a操作的处理结果,基于spark读取元素a生成文件a,即为a操作对应的处理结果。
综上,本发明实施例提供的文件处理方法,在需要对待处理的文件进行多种操作处理时,只需要读取一次待处理文件,构建包括多个元素的分布式数据集合,协助实现多种操作的处理流程,不同操作之间的处理结果可以复用,降低了文件处理过程中的计算量,优化了文件的处理流程,从而提高了文件处理的效率,提升了系统对文件数据分析的性能。
可选的,本发明实施例中针对待处理文件待执行的多个操作可以包括数据清洗操作、时间拉链操作以及数据统计操作。其中,所述数据清洗操作、所述时间拉链操作以及所述数据统计操作过程中都需要执行转码操作,因此,转码操作可以作为公共处理步骤;另外,所述时间拉链操作和所述数据统计操作过程中都需要对所述待处理文件进行所述数据清洗操作。
可选的,根据所述公共处理结果,通过依次执行所述多个操作,更新所述复合分布式数据集合,可以通过如下方式实现。
针对每一所述操作执行如下步骤:
若所述操作可使用当前复合分布式数据集合中的元素,则在可使用的元素的基础上执行所述操作,生成对应的操作结果,并根据所述操作结果更新复合分布式数据集合,更新后的复合分布式数据集合包括:公共处理步骤对应的元素,和/或,已执行的各个操作对应的元素。
在满足预设条件时,删除所述复合分布式数据集合中公共处理步骤对应的元素。
其中,所述预设条件包括下述至少一项:所述操作之后的其他操作不需要使用公共处理结果;所述操作为所述多个操作中的最后一个操作。
可选的,所述操作可使用的元素,可以是指所述操作包含的部分步骤对应的元素。在执行完所述操作后,可以将该操作的结果更新到复合分布式数据集合中。
更新的方式可以有多种。可选的,在多个操作的执行过程中,复合分布式数据集合仅包括当前已经执行的操作对应的元素,当有新的操作完成后,可以将该操作对应的结果作为一个新的元素添加到所述复合分布式数据集合中。或者,在多个操作的执行过程中,复合分布式数据集合可以包括多个操作对应的元素,其中已执行的操作对应的元素已经更新为对应的处理结果,未执行的操作对应的元素可以暂时为初始化的默认值或空,待操作执行完后,再更新对应元素的数值。
示例性的,当前复合分布式数据集合包括所述转码操作结果对应的元素,执行所述数据清洗操作时,直接利用所述元素,执行所述数据清洗操作生成数据清洗操作结果,而不需要再重新执行一次所述转码操作。在执行完数据清洗操作后,可以将数据清洗操作的结果更新到复合分布式数据集合中,得到新的复合分布式数据集合,其中包括一个元素对应数据清洗操作的结果。
当剩余的操作不需要执行所述转码操作时,或,当所述某一操作为所述多个操作中的最后一个操作时,可以在复合分布式数据集合中删除所述转码操作对应的元素。
通过设置预设条件,保证在最新的复合分布式数据集合中的元素与所述多个操作的结果一一对应,提高了输出操作结果文件的准确性。
可选的,根据所述至少部分操作对应的公共处理步骤,对所述待处理的文件进行处理,得到复合分布式数据集合,包括:对所述待处理的文件中的多组数据进行转码操作,得到复合分布式数据集合。
相应的,根据所述公共处理结果,通过依次执行所述多个操作,更新所述复合分布式数据集合,包括:根据所述复合分布式数据集合,对转码后的多组数据进行数据清洗处理,并更新复合分布式数据集合,更新后的复合分布式数据集合包括数据清洗操作对应的元素;根据所述数据清洗操作对应的元素,对数据清洗后的多组数据执行时间拉链操作,并更新复合分布式数据集合,更新后的复合分布式数据集合包括数据清洗操作对应的元素、时间拉链操作对应的元素;根据所述数据清洗操作对应的元素,对数据清洗后的多组数据执行统计操作,并更新复合分布式数据集合,更新后的复合分布式数据集合包括数据清洗操作对应的元素、时间拉链操作对应的元素以及统计操作对应的元素。
图3为本发明实施例提供的另一种文件处理方法的流程示意图。本实施例是在前述实施例提供的技术方案的基础上,结合实际业务需要,给出一种具体的文件处理方法。如图3所示,所述文件处理方法可以包括:
步骤301,读取待处理的文件,生成初始分布式数据集合RDD1。
可选的,可以基于spark读取从磁盘中读取待处理的文件到内存中,并生成初始分布式数据集合RDD1。其中,RDD1中包括待处理文件的所有数据。方便后续通过对所述所有数据进行所述多种操作,得到所述多种操作对应的结果。
步骤302,根据RDD1,对所述待处理的文件中的多组数据进行转码操作,得到复合分布式数据集合RDD2。
具体的,所述转码操作为所述数据清洗操作、所述时间拉链操作以及所述数据统计操作的公共处理步骤。可以先基于spark执行所述转码操作,得到对所述数据进行转码后的结果,生成复合分布式数据集合RDD2,其中RDD2中包括公共处理结果,即进行所述转码操作后的多组数据,此时RDD2元组中包括一个元素,记为元素0,对应所述转码操作结果。
步骤303,根据RDD2,对转码后的多组数据进行数据清洗操作,并更新复合分布式数据集合得到RDD3。
具体的,在执行数据清洗操作时,直接对RDD2中转码操作后的数据进行数据清洗处理即可,得到新的复合分布式数据集合RDD3,RDD3中包括所述数据清洗操作结果对应的元素,记为元素1。
可选的,执行完所述数据清洗操作后,在满足预设条件时,删除所述复合分布式数据集合中公共处理步骤对应的元素。
由于所述时间拉链操作和所述数据统计操作过程中都需要对所述待处理文件进行所述数据清洗操作,所以优先执行所述数据清洗操作,在执行所述时间拉链操作和所述数据统计操作时,这两项操作可以复用所述数据清洗操作的结果。并且,由于数据清洗操作相比于转码操作多了一些处理工作,因此,使用数据清洗操作的结果来执行后续两项操作,相比于使用转码操作的结果来说更加快捷,所以执行后续两项操作可以不再需要转码操作的结果,因此可以删除元素0,RDD3中只需保留所述数据清洗操作的结果即可。所以,在执行完数据清洗操作后,RDD3可以包括一个元素,即元素1,对应所述数据清洗操作的结果。
可选的,当存在其他操作,执行所述其他操作不需要利用所述数据清洗操作的结果,而需要利用所述转码操作的结果时,在RDD3中可以保留所述转码操作的结果,此时RDD3包括两个元素,分别为所述元素0和所述元素1。
步骤304,根据RDD3,对数据清洗后的多组数据执行时间拉链操作,并更新复合分布式数据集合得到RDD4。
具体的,执行所述时间拉链操作时,直接利用RDD3中元素1的对应的所述数据清洗操作后的多组数据,执行所述时间拉链操作其余的步骤,而不需要将所述待处理文件中的数据重新进行所述数据清洗操作。所述时间拉链操作执行完毕后,将所述时间拉链操作结果记为元素2,更新得到复合分布式数据集合得到RDD4,RDD4元组包括两个元素,分别为所述元素1和所述元素2。
步骤305,根据RDD4,对数据清洗后的多组数据执行统计操作,并更新复合分布式数据集合得到RDD0。
具体的,执行所述数据统计操作时,直接利用RDD4中元素1对应的所述数据清洗操作后的多组数据,执行所述数据统计操作其余的步骤,而不需要将所述待处理文件中的数据重新进行所述数据清洗操作。所述数据统计操作执行完毕后,将所述数据统计操作结果记为元素3,更新得到复合分布式数据集合得到RDD0,RDD0包括三个元素,分别为所述元素1、所述元素2和所述元素3。
步骤306,根据RDD0,输出各个操作对应的结果文件。
具体的,分别读取RDD0中的三个元素,并输出各个操作对应的结果文件,示例性的,读取元素1,生成文件1,文件1为所述数据清洗操作的结果文件。
可选的,本步骤可以包括:在所述多个操作完成后,缓存所述复合分布式数据集合;根据缓存的复合分布式数据集合中的各个元素,依次输出各个操作对应的结果文件,所述结果文件用于存储对应操作得到的处理结果。
可选的,由于在spark处理RDD时,生成新的RDD后旧RDD不会保留,具体的,spark读取所述待处理文件,并进行多个步骤计算时,每次得到新的RDD会覆盖之前步骤产生的结果,示例性的,spark生成RDD2时,RDD2会覆盖RDD1。本实施例通过不断更新RDD,将不同操作的结果最终复合到一个元组中,即RDD0中,实现通过一次读取文件,获取所述多个操作结果。
另外,由于当根据读取RDD0中的元素1生成文件1后,难以再获取其他操作对应的结果文件,所以,当得到RDD0时,将RDD0缓存,可选的,当需要获取某一操作对应的结果文件时,直接根据缓存的RDD0输出对应的结果文件。
通过缓存RDD0,在每次获取不同操作的结果文件时,只需要利用spark读取RDD0中对应的元素,避免了spark对在文件处理时难以输出多个结果文件的问题,增强了适用性。
综上,复合分布式数据集合RDD0中包括三个元素,分别对应本实施例对所述待处理文件需要执行的所述数据清洗操作、所述时间拉链操作以及所述数据统计操作的结果。同时,在得到复合分布式数据集合RDD0时,只读取一次待处理文件,对不同操作的公共处理步骤只执行一次,提高了获取复合分布式数据集合的计算效率。当对所述待处理文件需要执行其他操作时,其原理方法与本实施例类似。
对应于以上实施例提供的文件处理的方法,本发明实施例提供一种文件处理装置。图4为本发明实施例提供的一种文件处理装置的结构框图。为了便于说明,仅示出了与本发明实施例相关的部分。如图4所示,所述装置包括:
确定模块401,用于确定待处理的文件以及针对所述文件待执行的多个操作,其中,所述文件包括多组数据,每一操作用于输出对应的结果文件;
执行模块402,用于依次执行所述多个操作,得到复合分布式数据集合,所述复合分布式数据集合为包括多个元素的元组,所述多个元素分别对应多个操作的处理结果;其中,所述多个操作中,存在至少一个操作,在执行该操作时使用所述元组中的至少一个元素;
输出模块403,用于根据得到的复合分布式数据集合,输出各个操作对应的结果文件。
可选的,执行模块402具体用于:
根据所述至少部分操作对应的公共处理步骤,对所述待处理的文件进行处理,得到复合分布式数据集合,所述复合分布式数据集合包括公共处理步骤对应的元素,用于存储公共处理结果;根据所述公共处理结果,通过依次执行所述多个操作,更新所述复合分布式数据集合。
可选的,执行模块402在根据所述公共处理结果,通过依次执行所述多个操作,更新所述复合分布式数据集合时,具体用于:
针对每一操作执行如下步骤:若所述操作可使用当前复合分布式数据集合中的元素,则在可使用的元素的基础上执行所述操作,生成对应的操作结果,并根据所述操作结果更新复合分布式数据集合,更新后的复合分布式数据集合包括:公共处理步骤对应的元素,和/或,已执行的各个操作对应的元素;在满足预设条件时,删除所述复合分布式数据集合中公共处理步骤对应的元素。
可选的,所述预设条件包括下述至少一项:所述操作之后的其他操作不需要使用公共处理结果;所述操作为所述多个操作中的最后一个操作。
可选的,执行模块402在根据所述至少部分操作对应的公共处理步骤,对所述待处理的文件进行处理,得到复合分布式数据集合时,具体用于:
对所述待处理的文件中的多组数据进行转码操作,得到复合分布式数据集合。
相应的,执行模块402在根据所述公共处理结果,通过依次执行所述多个操作,更新所述复合分布式数据集合时,具体用于:
根据所述复合分布式数据集合,对转码后的多组数据进行数据清洗处理,并更新复合分布式数据集合,更新后的复合分布式数据集合包括数据清洗操作对应的元素;
根据所述数据清洗操作对应的元素,对数据清洗后的多组数据执行时间拉链操作,并更新复合分布式数据集合,更新后的复合分布式数据集合包括数据清洗操作对应的元素、时间拉链操作对应的元素;
根据所述数据清洗操作对应的元素,对数据清洗后的多组数据执行统计操作,并更新复合分布式数据集合,更新后的复合分布式数据集合包括数据清洗操作对应的元素、时间拉链操作对应的元素以及统计操作对应的元素。
可选的,输出模块403具体用于:
在所述多个操作完成后,缓存所述复合分布式数据集合;
根据缓存的复合分布式数据集合中的各个元素,依次输出各个操作对应的结果文件,所述结果文件用于存储对应操作得到的处理结果。
可选的,确定模块401还用于:根据待处理的文件,生成对应的初始分布式数据集合;
相应的,执行模块402在依次执行所述多个操作,得到复合分布式数据集合时,具体用于:根据所述初始分布式数据集合,依次执行所述多个操作,得到复合分布式数据集合。
本实施例提供的文件处理装置的具体实现原理、过程和效果可以参见前述方法实施例,此处不再赘述。
以上描述仅为本发明的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本发明中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本发明中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本发明的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
对应于以上实施例提供的文件处理的方法,本发明实施例提供一种电子设备。图5为本发明实施例提供的一种电子设备的结构框图。为了便于说明,仅示出了与本发明实施例相关的部分。图5为本发明实施例提供的一种电子设备的结构示意图。如图5所示,本实施例的电子设备可以包括:
存储器501和至少一个处理器502;
所述存储器501存储计算机执行指令;
所述至少一个处理器502执行所述存储器存储的计算机执行指令,使得所述至少一个处理器502执行前述任一实施例所述的方法。
本实施例提供的电子设备的实现原理和技术效果可以参见前述各实施例,此处不再赘述。
此外,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现以上实施例中的任一项所述的方法。
本发明还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以上实施例中的任一项所述的方法。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本发明各个实施例所述方法的部分步骤。
应理解,上述处理器可以是中央处理单元(Central Processing Unit,简称CPU),还可以是其它通用处理器、数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合申请所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(Application Specific Integrated Circuits,简称ASIC)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备或主控设备中。本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现上述任一实施例所述的文件处理方法。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
Claims (10)
1.一种文件处理方法,其特征在于,包括:
确定待处理的文件以及针对所述文件待执行的多个操作,其中,所述文件包括多组数据,每一操作用于输出对应的结果文件;
依次执行所述多个操作,得到复合分布式数据集合,所述复合分布式数据集合为包括多个元素的元组,所述多个元素分别对应多个操作的处理结果;其中,所述多个操作中,存在至少一个操作,在执行该操作时使用所述元组中的至少一个元素;
根据得到的复合分布式数据集合,输出各个操作对应的结果文件。
2.根据权利要求1所述的方法,其特征在于,依次执行所述多个操作,得到复合分布式数据集合,包括:
根据至少部分操作对应的公共处理步骤,对所述待处理的文件进行处理,得到复合分布式数据集合,所述复合分布式数据集合包括公共处理步骤对应的元素,用于存储公共处理结果;
根据所述公共处理结果,通过依次执行所述多个操作,更新所述复合分布式数据集合。
3.根据权利要求2所述的方法,其特征在于,根据所述公共处理结果,通过依次执行所述多个操作,更新所述复合分布式数据集合,包括:
针对每一操作执行如下步骤:
若所述操作可使用当前复合分布式数据集合中的元素,则在可使用的元素的基础上执行所述操作,生成对应的操作结果,并根据所述操作结果更新复合分布式数据集合,更新后的复合分布式数据集合包括:公共处理步骤对应的元素,和/或,已执行的各个操作对应的元素;
在满足预设条件时,删除所述复合分布式数据集合中公共处理步骤对应的元素。
4.根据权利要求3所述的方法,其特征在于,所述预设条件包括下述至少一项:所述操作之后的其他操作不需要使用公共处理结果;所述操作为所述多个操作中的最后一个操作。
5.根据权利要求2所述的方法,其特征在于,根据至少部分操作对应的公共处理步骤,对所述待处理的文件进行处理,得到复合分布式数据集合,包括:
对所述待处理的文件中的多组数据进行转码操作,得到复合分布式数据集合;
相应的,根据所述公共处理结果,通过依次执行所述多个操作,更新所述复合分布式数据集合,包括:
根据所述复合分布式数据集合,对转码后的多组数据进行数据清洗处理,并更新复合分布式数据集合,更新后的复合分布式数据集合包括数据清洗操作对应的元素;
根据所述数据清洗操作对应的元素,对数据清洗后的多组数据执行时间拉链操作,并更新复合分布式数据集合,更新后的复合分布式数据集合包括数据清洗操作对应的元素、时间拉链操作对应的元素;
根据所述数据清洗操作对应的元素,对数据清洗后的多组数据执行统计操作,并更新复合分布式数据集合,更新后的复合分布式数据集合包括数据清洗操作对应的元素、时间拉链操作对应的元素以及统计操作对应的元素。
6.根据权利要求1-5任一项所述的方法,其特征在于,根据得到的复合分布式数据集合,输出各个操作对应的结果文件,包括:
在所述多个操作完成后,缓存所述复合分布式数据集合;
根据缓存的复合分布式数据集合中的各个元素,依次输出各个操作对应的结果文件,所述结果文件用于存储对应操作得到的处理结果。
7.根据权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:根据待处理的文件,生成对应的初始分布式数据集合;
相应的,依次执行所述多个操作,得到复合分布式数据集合,包括:根据所述初始分布式数据集合,依次执行所述多个操作,得到复合分布式数据集合。
8.一种文件处理装置,其特征在于,所述装置包括:
确定模块,用于确定待处理的文件以及针对所述文件待执行的多个操作,其中,所述文件包括多组数据,每一操作用于输出对应的结果文件;
执行模块,用于依次执行所述多个操作,得到复合分布式数据集合,所述复合分布式数据集合为包括多个元素的元组,所述多个元素分别对应多个操作的处理结果;其中,所述多个操作中,存在至少一个操作,在执行该操作时使用所述元组中的至少一个元素;
输出模块,用于根据得到的复合分布式数据集合,输出各个操作对应的结果文件。
9.一种电子设备,其特征在于,包括:存储器和至少一个处理器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1-7任一项所述的文件处理方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1-7任一项所述的文件处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211336872.6A CN115599759A (zh) | 2022-10-28 | 2022-10-28 | 文件处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211336872.6A CN115599759A (zh) | 2022-10-28 | 2022-10-28 | 文件处理方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115599759A true CN115599759A (zh) | 2023-01-13 |
Family
ID=84850180
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211336872.6A Pending CN115599759A (zh) | 2022-10-28 | 2022-10-28 | 文件处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115599759A (zh) |
-
2022
- 2022-10-28 CN CN202211336872.6A patent/CN115599759A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11349639B2 (en) | Circuit and method for overcoming memory bottleneck of ASIC-resistant cryptographic algorithms | |
US20190079998A1 (en) | Blockchain data-processing engine | |
CN107103032B (zh) | 一种分布式环境下避免全局排序的海量数据分页查询方法 | |
JP6991983B2 (ja) | 機械学習システムをトレーニングする方法及びシステム | |
CN108388515B (zh) | 测试数据生成方法、装置、设备以及计算机可读存储介质 | |
WO2019140734A1 (zh) | 基金交易清算方法、装置、设备及计算机可读存储介质 | |
CN112506950B (zh) | 数据聚合处理方法、计算节点、计算集群及存储介质 | |
CN110781183A (zh) | Hive数据库中增量数据的处理方法、装置以及计算机设备 | |
CN111522574B (zh) | 差分包生成方法及相关设备 | |
CN114598597B (zh) | 多源日志解析方法、装置、计算机设备及介质 | |
CN117786301A (zh) | 模型运算方法、装置、电子设备和存储介质 | |
CN110457348B (zh) | 一种数据处理方法及装置 | |
CN106874332A (zh) | 数据库访问方法和装置 | |
CN111126619B (zh) | 一种机器学习方法与装置 | |
WO2024159575A1 (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN115599759A (zh) | 文件处理方法、装置、设备及存储介质 | |
WO2023109066A1 (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN115952332A (zh) | 一种基于共现词频的核心搜索词组确定方法 | |
CN113724127B (zh) | 一种图像矩阵卷积的实现方法、计算设备及储存介质 | |
CN110032445B (zh) | 大数据聚集计算方法及装置 | |
CN112579585A (zh) | 一种数据处理系统、方法及装置 | |
CN114579419A (zh) | 一种数据处理方法及装置、存储介质 | |
CN113608724A (zh) | 一种基于模型缓存实现的离线仓库实时交互方法与系统 | |
JP6961950B2 (ja) | 格納方法、格納装置および格納プログラム | |
WO2018036336A1 (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 |