CN110874349A - 一种文件整理方法和装置 - Google Patents
一种文件整理方法和装置 Download PDFInfo
- Publication number
- CN110874349A CN110874349A CN201810915902.6A CN201810915902A CN110874349A CN 110874349 A CN110874349 A CN 110874349A CN 201810915902 A CN201810915902 A CN 201810915902A CN 110874349 A CN110874349 A CN 110874349A
- Authority
- CN
- China
- Prior art keywords
- file
- result
- size
- classification
- result file
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种文件整理方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:根据任务信息中配置的文件整理选项,确定对所述任务的结果文件集的整理策略;按照所述整理策略整理所述结果文件集。该实施方式能够根据用户的文件整理意愿对任务的结果文件集进行整理,实现针对不同实际情况的文件整理,并避免出现大量小文件与单一大文件的情况,方便用户对结果文件的处理和使用,大大简化用户工作量。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种文件整理方法和装置。
背景技术
Hive(基于Hadoop(一个分布式系统基础架构)的数据仓库工具)可以将结构化的数据文件映射为一张数据库表,通过类SQL语句将大多数查询转换为MapReduce(一个计算框架)任务。Hive(一种基于Hadoop的数据仓库工具)的学习成本低、编写速度快,且十分适合数据仓库的统计分析。目前数据查询系统使得用户只需在该系统前端页面上建立任务,当任务执行成功时,用户将收到邮件通知,并可下载结果数据集。
目前对于结果数据集的文件整理问题没有一个合适的解决方案。一种是不进行结果文件的合并而直接打包并提供下载。由于结果文件的数量通常有很多(事实上与MapReduce任务中的Reduce(归约)数量一致,但Reduce的数量设置应以提高任务执行效率为目的,而不是为了结果文件方便使用),用户得到的文件包中很有可能包括大量小文件,对非技术人员来说十分不利于内容的阅读与查找。另一种是将所有结果文件合并为一个统一的大文件,导致当文件很大时无法使用(然而对HDFS(Hadoop分布式文件系统)来说,大文件非常常见)。以常见的文件格式csv(逗号分隔值)为例,当文件大小超过400MB时,Excel的打开时间几乎不可忍受,且打开后数据显示不完整,只能是用户削减任务量或人为将单个任务分成多个任务分别执行,十分不方便。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
现有方案结果文件数量很多,不方便用户使用,即使合并为统一的大文件仍给用户带来很大不便。
发明内容
有鉴于此,本发明实施例提供一种文件整理方法和装置,能够根据用户的文件整理意愿对任务的结果文件集进行整理,实现针对不同实际情况的文件整理,并避免出现大量小文件与单一大文件的情况,方便用户对结果文件的处理和使用,大大简化用户工作量。
为实现上述目的,根据本发明实施例的一个方面,提供了一种文件整理方法。
一种文件整理方法,包括:根据任务信息中配置的文件整理选项,确定对所述任务的结果文件集的整理策略;按照所述整理策略整理所述结果文件集。
可选地,按照所述整理策略整理所述结果文件集的步骤,包括:如果所述结果文件集的总大小大于预设阈值,则根据所述任务信息中文件分类字段的配置,对所述结果文件集进行文件分类和调整大小的操作;如果所述结果文件集的总大小小于或等于所述预设阈值,则对所述结果文件集进行文件合并的操作。
可选地,按照所述整理策略整理所述结果文件集的步骤,包括:根据所述任务信息中文件分类字段的配置,对所述结果文件集进行文件分类和调整大小的操作。
可选地,根据所述任务信息中文件分类字段的配置,对所述结果文件集进行文件分类和调整大小的操作的步骤,包括:如果所述任务信息中文件分类字段的数量大于设定值,则按照所述文件分类字段对所述结果文件集中的结果文件分类,并在所述分类成功后,对所述分类得到的每个类型的结果文件调整大小;如果所述任务信息中文件分类字段的数量不大于所述设定值,或者所述分类失败,则对所述结果文件集中的结果文件调整大小。
可选地,在所述分类成功后,对所述分类得到的每个类型的结果文件调整大小的步骤,包括:对于每个类型,当该类型的各结果文件的总大小小于或等于预设文件大小时,将所述各结果文件合并为一个结果文件;当该类型的各结果文件的总大小大于所述预设文件大小时,按照所述预设文件大小来调整每一结果文件的大小;对所述结果文件集中的结果文件调整大小的步骤,包括:对于所述结果文件集中的结果文件,按照所述预设文件大小来调整每一结果文件的大小;其中,在所述结果文件集或所述每个类型的所有结果文件中,按照所述预设文件大小来调整大小之后,至多存在一个小于所述预设文件大小的结果文件,而其他结果文件的大小均等于所述预设文件大小。
可选地,所述每个类型的类型值通过HDFS路径内容来表示。
根据本发明实施例的另一方面,提供了一种文件整理装置。
一种文件整理装置,其特征在于,包括:整理策略确定模块,用于根据任务信息中配置的文件整理选项,确定对所述任务的结果文件集的整理策略;结果文件整理模块,用于按照所述整理策略整理所述结果文件集。
可选地,所述结果文件整理模块还用于:如果所述结果文件集的总大小大于预设阈值,则根据所述任务信息中文件分类字段的配置,对所述结果文件集进行文件分类和调整大小的操作;如果所述结果文件集的总大小小于或等于所述预设阈值,则对所述结果文件集进行文件合并的操作。
可选地,所述结果文件整理模块还用于:根据所述任务信息中文件分类字段的配置,对所述结果文件集进行文件分类和调整大小的操作。
可选地,所述结果文件整理模块包括整理子模块,用于:如果所述任务信息中文件分类字段的数量大于设定值,则按照所述文件分类字段对所述结果文件集中的结果文件分类,并在所述分类成功后,对所述分类得到的每个类型的结果文件调整大小;如果所述任务信息中文件分类字段的数量不大于所述设定值,或者所述分类失败,则对所述结果文件集中的结果文件调整大小。
可选地,对于每个类型,当该类型的各结果文件的总大小小于或等于预设文件大小时,将所述各结果文件合并为一个结果文件;当该类型的各结果文件的总大小大于所述预设文件大小时,按照所述预设文件大小来调整每一结果文件的大小;所述整理子模块还包括第二文件大小调整单元,用于:对于所述结果文件集中的结果文件,按照所述预设文件大小来调整每一结果文件的大小;其中,在所述结果文件集或所述每个类型的所有结果文件中,按照所述预设文件大小来调整大小之后,至多存在一个小于所述预设文件大小的结果文件,而其他结果文件的大小均等于所述预设文件大小。
可选地,所述每个类型的类型值通过HDFS路径内容来表示。
根据本发明实施例的又一方面,提供了一种电子设备。
一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现本发明提供的文件整理方法。
根据本发明实施例的又一方面,提供了一种计算机可读介质。
一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明提供的文件整理方法。
上述发明中的一个实施例具有如下优点或有益效果:根据任务信息中配置的文件整理选项,确定对任务的结果文件集的整理策略;按照整理策略整理任务的结果文件集。能够根据用户的文件整理意愿对任务的结果文件集进行整理。并且,在结果文件集的总大小大于预设阈值时,根据任务信息中文件分类字段的配置,对结果文件集进行文件分类和调整大小的操作,在结果文件集的总大小小于或等于预设阈值时,对结果文件集进行文件合并的操作,实现针对不同实际情况的文件整理,避免出现大量小文件与单一大文件的情况,方便用户对结果文件的处理和使用,大大简化用户工作量。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的文件整理方法的主要步骤示意图;
图2是根据本发明实施例的对一个Hive任务的结果文件集的优选整理流程示意图;
图3是根据本发明实施例的文件整理装置的主要模块示意图;
图4是根据本发明实施例的数据查询系统的构成示意图;
图5是本发明实施例可以应用于其中的示例性系统架构图;
图6是适于用来实现本发明实施例的服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本发明实施例的文件整理方法的主要步骤示意图。
本发明实施例的文件整理方法主要包括如下的步骤S101至步骤S102。
步骤S101:根据任务信息中配置的文件整理选项,确定对任务的结果文件集的整理策略。
本发明实施例的任务为Hive任务。Hive作为一种基于Hadoop的数据仓库工具,Hadoop是一个由Apache基金会所开发的分布式系统基础架构,以一种可靠、高效、可伸缩的方式进行对大数据集进行处理。Hadoop框架最核心的设计是HDFS和MapReduce,其中HDFS用于存储海量的数据,而MapReduce用于计算海量的数据。
用户可以通过前端页面提交任务信息,服务器记录用户提交的任务信息,并保存到数据库中。任务信息包括但不限于以下内容:任务名、用户邮箱、SQL(结构化查询语言)语句,文件格式与编码等。每一个任务都会拥有唯一的任务ID(标识)、HDFS上的结果保存路径和执行状态(执行状态包括:未执行、执行中、执行成功、执行失败等)。
用户提交的任务信息还包括文件整理选项和文件分类字段。其中,文件整理选项包括三种:是、自动、否。当文件整理选项的值为“是”或“自动”时,用户需要输入文件分类字段。文件分类字段必须出自该任务SQL语句中的最外层select语句,通常最多支持两个或三个,也可为零个。
服务器执行任务中的SQL语句,并生成结果数据集(即结果文件集)。首先通过数据库寻找ID最小的未执行任务并开始执行。若任务执行成功,则将结果数据集保存在HDFS上的保存路径中,并将该任务的执行状态更改为执行成功。若此时结果数据集非空,则执行步骤S102;若结果数据集为空,则通知用户;若任务执行失败,则将该任务的执行状态更改为执行失败,并通知用户。具体可以通过发送邮件,将任务的结果数据集为空的消息或任务执行失败的消息发送到用户在任务信息中填写的用户邮箱,邮件中应包括应至少包括任务名、任务ID和执行状态等信息。
步骤S102:按照整理策略整理任务的结果文件集。
任务信息中配置的文件整理选项不同,整理策略也不同。
在实施方式一中,任务信息中配置的文件整理选项为“自动”,则按照如下的整理策略整理该任务的结果文件集:
如果结果文件集的总大小大于预设阈值,则根据任务信息中文件分类字段的配置,对结果文件集进行文件分类和调整大小的操作;
如果结果文件集的总大小小于或等于预设阈值,则对结果文件集进行文件合并的操作。
其中预设阈值可以自定义,本实施例定义预设阈值为128MB(兆字节)。
在实施方式二中,任务信息中配置的文件整理选项为“是”,则按照如下的整理策略整理该任务的结果文件集:
根据任务信息中文件分类字段的配置,对该任务的结果文件集进行文件分类和调整大小的操作。
上述实施方式一和二中,根据任务信息中文件分类字段的配置,对结果文件集进行文件分类和调整大小的操作的步骤,具体可以包括:
如果任务信息中文件分类字段的数量大于设定值,则按照文件分类字段对结果文件集中的结果文件分类,并在分类成功后,对分类得到的每个类型的结果文件调整大小;
如果任务信息中文件分类字段的数量不大于设定值,或者分类失败,则对结果文件集中的结果文件调整大小。
该设定值可以根据需要来设置,例如需要在至少存在一个文件分类字段时,就对文件进行分类,否则直接对结果文件集中的结果文件调整大小,那么可以将设定值设置为0。
每个类型的类型值通过HDFS路径内容来表示。
当任务信息中文件分类字段的数量大于设定值(以0为例),则按照文件分类字段对结果文件集中的结果文件分类,具体地,当文件分类字段至少存在一个时,Hive根据结果数据集创建分区表,且按照文件分类字段进行动态分区。如果动态分区未出现异常,则表明分类成功,Hive生成的每个动态分区即对应文件的一个分类(类型),具体的类型值可由HDFS路径内容表示出,每个分区中都包含分类后的文件。如果动态分区时出现异常,则表示分类失败。
在分类成功后,对分类得到的每个类型的结果文件调整大小的步骤,具体可以包括:
对于每个类型,
当该类型的各结果文件的总大小小于或等于预设文件大小时,将该类型的各结果文件合并为一个结果文件,具体地,例如该类型对应的动态分区内各结果文件总大小小于或等于128MB,则直接合并为一个结果文件;
当该类型的各结果文件的总大小大于预设文件大小时,按照预设文件大小来调整每一结果文件的大小。
对于任务信息中文件分类字段的数量不大于设定值(例如,用户输入的文件分类字段为0个),或者分类失败的情况,对结果文件集中的结果文件调整大小的步骤,具体可以包括:
对于结果文件集中的结果文件,按照预设文件大小来调整每一结果文件的大小。
分类失败的原因例如包括Hive动态分区数量过多、查找的表或字段不存在、运行任务的计算机网络中断、用户手动强行终止任务等。
在结果文件集或每个类型的所有结果文件中,按照预设文件大小来调整每一结果文件的大小的方法为:将结果文件集或每个类型的所有结果文件均分为若干(一个或多个)预设文件大小的结果文件。上述的按照预设文件大小来调整大小之后,使得该所有结果文件中至多存在一个小于预设文件大小的结果文件,而其他结果文件的大小均等于预设文件大小。
其中,预设文件大小与预设阈值都是可以自定义的,预设文件大小与预设阈值需要设置为统一的数值,本实施例定义预设阈值为128MB,因此预设文件大小也为128MB。
例如,当某一类型的各结果文件的总大小大于128MB时,则将该类型的各结果文件均分为若干(一个或多个)128MB的文件,且该类型对应的动态分区中至多包含一个小于128MB的文件。同样地,当结果文件集中,各结果文件的总大小大于128MB时,则将结果文件集中的各结果文件均分为若干(一个或多个)128MB的文件,且该结果文件集中至多包含一个小于128MB的文件。这些文件(该多个128MB的文件以及至多一个小于128MB的文件)都是按照用户在任务信息中输入的文件格式与编码生成,并根据SQL语句中的查询字段为文件中的每一列添加表头。
在实施方式三中,任务信息中配置的文件整理选项为“否”,此时,整理策略相应为不对结果文件集执行整理操作。
按照整理策略整理任务的结果文件集之后,可以将所有文件制作为一个压缩包,并上传至网盘。压缩包名称应包括任务名和任务ID,若分类阶段执行成功,则压缩包内的文件目录应按照动态分区的目录组织。以及,向用户的预留邮箱发送邮件,邮件中应至少包括任务名、任务ID和执行状态。任务成功时,邮件中还应包括压缩包的网盘地址,以供用户下载。
图2是根据本发明实施例的对一个Hive任务的结果文件集的优选整理流程示意图。
本发明实施例的对一个Hive任务的结果文件集的优选整理流程主要包括如下的步骤S201至步骤S213。
假设有某雇员表emp,其中字段包括雇员编号(ID)、性别(gender)、年龄(age)、部门编号(deptno)、邮箱(email)等。其中gender的值包括字符串male(男性)和female(女性);deptno的值的形式如0001,0002等,类型同为字符串。
步骤S201:将用户通过前端页面提交的任务信息记录到数据库。
任务信息为Hive任务信息,具体包括但不限于以下内容:任务名、用户邮箱、SQL语句,文件格式与编码等。
步骤S202:执行任务中的SQL语句,并生成结果数据集。
其中SQL语句用于查询雇员表emp中的上述字段:雇员编号(ID)、性别(gender)、年龄(age)、部门编号(deptno)、邮箱(email)等。需要说明的是,本发明实施例的SQL应理解为Hive QL,即Hive查询语言,并非标准SQL。
结果数据集也可称为结果文件集,是任务执行后生成的结果文件的集合。
步骤S203:判断结果数据集是否为空,若是,则执行步骤S213,否则,执行步骤S204。
步骤S204:任务信息中配置的文件整理选项的值,若文件整理选项为“是”,则执行步骤S206;若文件整理选项为“自动”,则执行步骤S205;若文件整理选项为“否”,则执行步骤S212。
步骤S205:判断结果数据集的总大小是否超过128MB,若是,则执行步骤S206,否则,执行步骤S211。
步骤S206:判断任务信息中文件分类字段的数量是否大于零,若是,则执行步骤S207,否则,执行步骤S210。
步骤S207:对结果数据集中的结果文件进行分类。
假设文件分类字段为gender和deptno。服务器后端执行任务成功后,产生非空的结果数据集,以该结果数据集为数据源,以gender和deptno为分区字段,建立Hive分区表,具体可以应用Hive自带的动态分区功能实现文件分类。分区表建立成功后,每个分区(即动态分区)有唯一的目录对应,文件的分区存放目录的格式如:
“……/gender=male/deptno=0001”,
“……/gender=male/deptno=0002”,
“……/gender=female/deptno=0001”,
“……/gender=female/deptno=0002”。
这样,每个类型的类型值通过HDFS路径内容来表示,从而分类后结果文件的路径即可反映出结果文件所属的类型。
步骤S208:判断分类是否成功,若是,则执行步骤S209,否则执行步骤S210。
步骤S209:对每个动态分区内的结果文件调整大小。
上述分区表建立成功后,即表示分类成功。分别对每个动态分区内的结果文件调整大小,具体地,如果该动态分区内各结果文件总大小小于或等于128MB,例如为100MB,则直接合并为一个结果文件;如果该动态分区内各结果文件的总大小大于128MB,则将该动态分区内的各结果文件均分为若干(一个或多个)128MB的文件,使得该动态分区内至多包含一个小于128MB的结果文件之外,其他结果文件的大小都等于128MB。例如该动态分区内各结果文件的总大小为300MB,则调整大小后得到3个结果文件,大小分别为:128MB,128MB,44MB。
本步骤执行完毕,执行步骤S212。
步骤S210:对结果数据集中的结果文件调整大小。
当任务信息中文件分类字段的数量不大于零(即等于0时),或者,分类失败时,对结果数据集中的结果文件调整大小。
具体调整方法为:当结果数据集中,各结果文件的总大小大于128MB时,则将结果数据集中的各结果文件均分为若干(一个或多个)128MB的文件,使得结果数据集中至多包含一个小于128MB的结果文件之外,其他结果文件的大小都等于128MB。
本步骤执行完毕,执行步骤S212。
步骤S211:将结果数据集中的所有文件合并为一个结果文件。
本步骤执行完,执行步骤S212。
步骤S212:制作文件压缩包,并将压缩包上传至网盘。
压缩包名称包括任务名和任务ID,并且,压缩包内的文件目录应与上文的分区存放目录的格式类似。
步骤S213:按照任务信息中的邮箱,向用户发送邮件。
其中,当由步骤S203跳转到该步骤时,发送邮件的内容包括结果数据集为空的通知消息,还包括任务名、任务ID和执行状态等信息。
当由步骤S212跳转到该步骤时,发送邮件的内容包括邮件中包括任务名、任务ID和执行状态,执行成功的通知消息,以及压缩包的网盘地址(链接),以供用户下载。
图3是根据本发明实施例的文件整理装置的主要模块示意图。
本发明实施例的文件整理装置300主要包括:整理策略确定模块301、结果文件整理模块302。
整理策略确定模块301,用于根据任务信息中配置的文件整理选项,确定对任务的结果文件集的整理策略。
文件整理选项可以包括三种:是、自动、否。当文件整理选项的值为“是”或“自动”时,用户需要输入文件分类字段。文件分类字段必须出自该任务SQL语句中的最外层select语句,通常最多支持两个或三个,也可为零个。
结果文件整理模块302,用于按照整理策略整理结果文件集。
在一个实施方式中,用户配置文件整理选项为“自动”,结果文件整理模块302具体用于:
如果结果文件集的总大小大于预设阈值,则根据任务信息中文件分类字段的配置,对结果文件集进行文件分类和调整大小的操作;
如果结果文件集的总大小小于或等于预设阈值,则对结果文件集进行文件合并的操作。
在另一个实施方式中,用户配置文件整理选项为“是”,结果文件整理模块302具体用于:
根据任务信息中文件分类字段的配置,对结果文件集进行文件分类和调整大小的操作。
上述两个实施方式中,根据任务信息中文件分类字段的配置,对结果文件集进行文件分类和调整大小的操作可以由结果文件整理模块中的整理子模块执行,具体地,
如果任务信息中文件分类字段的数量大于设定值,则按照文件分类字段对结果文件集中的结果文件分类,并在分类成功后,对分类得到的每个类型的结果文件调整大小;
如果任务信息中文件分类字段的数量不大于设定值,或者分类失败,则对结果文件集中的结果文件调整大小。
每个类型的类型值通过HDFS路径内容来表示。
整理子模块可以包括第一文件大小调整单元,用于:对于在分类成功后得到的每个类型,
当该类型的各结果文件的总大小小于或等于预设文件大小时,将该类型的各结果文件合并为一个结果文件;
当该类型的各结果文件的总大小大于预设文件大小时,按照预设文件大小来调整每一结果文件的大小。
整理子模块还可以包括第二文件大小调整单元,用于在任务信息中文件分类字段的数量不大于设定值,或者分类失败时,
对于结果文件集中的结果文件,按照预设文件大小来调整每一结果文件的大小。
其中,在上述结果文件集或每个类型的所有结果文件中,按照预设文件大小来调整大小之后,至多存在一个小于预设文件大小的结果文件,而其他结果文件的大小均等于预设文件大小。
在又一个实施方式中,用户配置文件整理选项为“否”,结果文件整理模块302不执行任何文件整理的操作,而直接将结果文件集交由负责对结果文件集压缩为压缩包并上传网盘的模块,进行相应的后续处理。
在本发明实施例中文件整理装置的具体实施内容,在上面文件整理方法中已经详细说明了,故在此重复内容不再说明。
图4是根据本发明实施例的数据查询系统的构成示意图。
本发明实施例的数据查询系统400构成可以包括:任务管理模块401、任务执行模块402、整理策略确定模块403、结果文件整理模块404、文件打包模块405、邮箱模块406。
其中,任务管理模块401用于将用户通过前端页面提交的任务信息记录到数据库。任务执行模块402用于执行SQL语句,并生成结果数据集。整理策略确定模块403与上一实施例的整理策略确定模块301的功能相同,结果文件整理模块404与上一实施例的结果文件整理模块302的功能相同,因此对该两模块不再赘述。文件打包模块405用于制作文件压缩包,并将压缩包上传至网盘。邮箱模块406用于按照任务信息中的邮箱,向用户发送邮件。
本发明实施例通过读取用户在前端页面提交的任务信息,根据用户意愿实现对结果数据集的文件分类与大小调整,方便用户的使用,填补了现有Hive数据查询系统对结果文件整理方案的空白。
图5示出了可以应用本发明实施例的文件整理方法或文件整理装置的示例性系统架构500。
如图5所示,系统架构500可以包括终端设备501、502、503,网络504和服务器505。网络504用以在终端设备501、502、503和服务器505之间提供通信链路的介质。网络504可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备501、502、503通过网络504与服务器505交互,以接收或发送消息等。终端设备501、502、503上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备501、502、503可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器505可以是提供各种服务的服务器,例如对用户利用终端设备501、502、503所浏览的购物类网站提供支持的后台管理服务器。后台管理服务器可以对接收到的数据查询请求等数据进行分析等处理,并将处理结果(例如查询结果信息)反馈给终端设备。
需要说明的是,本发明实施例所提供的文件整理方法一般由服务器505执行,相应地,文件整理装置一般设置于服务器505中。
应该理解,图5中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图6,其示出了适于用来实现本申请实施例的服务器的计算机系统600的结构示意图。图6示出的服务器仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有系统600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本申请的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括整理策略确定模块301、结果文件整理模块302。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,整理策略确定模块301还可以被描述为“用于根据任务信息中配置的文件整理选项,确定对任务的结果文件集的整理策略的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:根据任务信息中配置的文件整理选项,确定对所述任务的结果文件集的整理策略;按照所述整理策略整理所述结果文件集。
根据本发明实施例的技术方案,根据任务信息中配置的文件整理选项,确定对任务的结果文件集的整理策略;按照整理策略整理任务的结果文件集。能够根据用户的文件整理意愿对任务的结果文件集进行整理。并且,在结果文件集的总大小大于预设阈值时,根据任务信息中文件分类字段的配置,对结果文件集进行文件分类和调整大小的操作,在结果文件集的总大小小于或等于预设阈值时,对结果文件集进行文件合并的操作,实现针对不同实际情况的文件整理,避免出现大量小文件与单一大文件的情况,方便用户对结果文件的处理和使用,大大简化用户工作量。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (14)
1.一种文件整理方法,其特征在于,包括:
根据任务信息中配置的文件整理选项,确定对所述任务的结果文件集的整理策略;
按照所述整理策略整理所述结果文件集。
2.根据权利要求1所述的方法,其特征在于,按照所述整理策略整理所述结果文件集的步骤,包括:
如果所述结果文件集的总大小大于预设阈值,则根据所述任务信息中文件分类字段的配置,对所述结果文件集进行文件分类和调整大小的操作;
如果所述结果文件集的总大小小于或等于所述预设阈值,则对所述结果文件集进行文件合并的操作。
3.根据权利要求1所述的方法,其特征在于,按照所述整理策略整理所述结果文件集的步骤,包括:
根据所述任务信息中文件分类字段的配置,对所述结果文件集进行文件分类和调整大小的操作。
4.根据权利要求2或3所述的方法,其特征在于,根据所述任务信息中文件分类字段的配置,对所述结果文件集进行文件分类和调整大小的操作的步骤,包括:
如果所述任务信息中文件分类字段的数量大于设定值,则按照所述文件分类字段对所述结果文件集中的结果文件分类,并在所述分类成功后,对所述分类得到的每个类型的结果文件调整大小;
如果所述任务信息中文件分类字段的数量不大于所述设定值,或者所述分类失败,则对所述结果文件集中的结果文件调整大小。
5.根据权利要求4所述的方法,其特征在于,在所述分类成功后,对所述分类得到的每个类型的结果文件调整大小的步骤,包括:
对于每个类型,
当该类型的各结果文件的总大小小于或等于预设文件大小时,将所述各结果文件合并为一个结果文件;
当该类型的各结果文件的总大小大于所述预设文件大小时,按照所述预设文件大小来调整每一结果文件的大小;
对所述结果文件集中的结果文件调整大小的步骤,包括:
对于所述结果文件集中的结果文件,按照所述预设文件大小来调整每一结果文件的大小;
其中,在所述结果文件集或所述每个类型的所有结果文件中,按照所述预设文件大小来调整大小之后,至多存在一个小于所述预设文件大小的结果文件,而其他结果文件的大小均等于所述预设文件大小。
6.根据权利要求5所述的方法,其特征在于,所述每个类型的类型值通过HDFS路径内容来表示。
7.一种文件整理装置,其特征在于,包括:
整理策略确定模块,用于根据任务信息中配置的文件整理选项,确定对所述任务的结果文件集的整理策略;
结果文件整理模块,用于按照所述整理策略整理所述结果文件集。
8.根据权利要求7所述的装置,其特征在于,所述结果文件整理模块还用于:
如果所述结果文件集的总大小大于预设阈值,则根据所述任务信息中文件分类字段的配置,对所述结果文件集进行文件分类和调整大小的操作;
如果所述结果文件集的总大小小于或等于所述预设阈值,则对所述结果文件集进行文件合并的操作。
9.根据权利要求7所述的装置,其特征在于,所述结果文件整理模块还用于:
根据所述任务信息中文件分类字段的配置,对所述结果文件集进行文件分类和调整大小的操作。
10.根据权利要求8或9所述的装置,其特征在于,所述结果文件整理模块包括整理子模块,用于:
如果所述任务信息中文件分类字段的数量大于设定值,则按照所述文件分类字段对所述结果文件集中的结果文件分类,并在所述分类成功后,对所述分类得到的每个类型的结果文件调整大小;
如果所述任务信息中文件分类字段的数量不大于所述设定值,或者所述分类失败,则对所述结果文件集中的结果文件调整大小。
11.根据权利要求10所述的装置,其特征在于,所述整理子模块包括第一文件大小调整单元,用于:
对于每个类型,
当该类型的各结果文件的总大小小于或等于预设文件大小时,将所述各结果文件合并为一个结果文件;
当该类型的各结果文件的总大小大于所述预设文件大小时,按照所述预设文件大小来调整每一结果文件的大小;
所述整理子模块还包括第二文件大小调整单元,用于:
对于所述结果文件集中的结果文件,按照所述预设文件大小来调整每一结果文件的大小;
其中,在所述结果文件集或所述每个类型的所有结果文件中,按照所述预设文件大小来调整大小之后,至多存在一个小于所述预设文件大小的结果文件,而其他结果文件的大小均等于所述预设文件大小。
12.根据权利要求11所述的装置,其特征在于,所述每个类型的类型值通过HDFS路径内容来表示。
13.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-6中任一所述的方法。
14.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-6中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810915902.6A CN110874349A (zh) | 2018-08-13 | 2018-08-13 | 一种文件整理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810915902.6A CN110874349A (zh) | 2018-08-13 | 2018-08-13 | 一种文件整理方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110874349A true CN110874349A (zh) | 2020-03-10 |
Family
ID=69714206
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810915902.6A Pending CN110874349A (zh) | 2018-08-13 | 2018-08-13 | 一种文件整理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110874349A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113297141A (zh) * | 2021-05-06 | 2021-08-24 | 维沃移动通信有限公司 | 文件合并方法、装置、电子设备和存储介质 |
CN113553300A (zh) * | 2021-07-27 | 2021-10-26 | 北京字跳网络技术有限公司 | 文件的处理方法、装置、可读介质和电子设备 |
-
2018
- 2018-08-13 CN CN201810915902.6A patent/CN110874349A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113297141A (zh) * | 2021-05-06 | 2021-08-24 | 维沃移动通信有限公司 | 文件合并方法、装置、电子设备和存储介质 |
CN113553300A (zh) * | 2021-07-27 | 2021-10-26 | 北京字跳网络技术有限公司 | 文件的处理方法、装置、可读介质和电子设备 |
CN113553300B (zh) * | 2021-07-27 | 2024-05-24 | 北京字跳网络技术有限公司 | 文件的处理方法、装置、可读介质和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109189835B (zh) | 实时生成数据宽表的方法和装置 | |
US9489237B1 (en) | Dynamic tree determination for data processing | |
CN108629029B (zh) | 一种应用于数据仓库的数据处理方法和装置 | |
US20220292093A1 (en) | Techniques For In Memory Key Range Searches | |
CN109189841B (zh) | 一种多数据源访问方法及系统 | |
CN109614402B (zh) | 多维数据查询方法和装置 | |
US20200204688A1 (en) | Picture book sharing method and apparatus and system using the same | |
US20190228100A1 (en) | Systems and methods for high efficiency data querying | |
CN111427899A (zh) | 存储文件的方法、装置、设备和计算机可读介质 | |
CN110874349A (zh) | 一种文件整理方法和装置 | |
CN112783887A (zh) | 一种基于数据仓库的数据处理方法及装置 | |
US10552419B2 (en) | Method and system for performing an operation using map reduce | |
US20200278988A1 (en) | Merging search indexes of a search service | |
CN113010542B (zh) | 业务数据处理方法、装置、计算机设备及存储介质 | |
CN111753019A (zh) | 一种应用于数据仓库的数据分区方法和装置 | |
CN111159213A (zh) | 一种数据查询方法、装置、系统和存储介质 | |
CN116069462A (zh) | 一种大数据dag任务流调度方法、系统及存储介质 | |
CN112073395B (zh) | 一种文件分发方法和装置 | |
CN110688355A (zh) | 变更容器状态的方法和装置 | |
CN113704242A (zh) | 一种数据处理方法和装置 | |
CN112988857A (zh) | 一种业务数据的处理方法和装置 | |
CN113704222A (zh) | 一种处理业务请求的方法和装置 | |
CN113312053A (zh) | 一种数据处理的方法和装置 | |
CN112817930A (zh) | 一种数据迁移的方法和装置 | |
CN112783925B (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 |