一种导出数据的方法及装置与流程

文档序号:12465997阅读:194来源:国知局
一种导出数据的方法及装置与流程

本发明涉及通信领域,更具体的说,涉及一种导出数据的方法及装置。



背景技术:

在分布式大数据处理的应用程序开发中,通常需要将分布式计算结果数据集导出成文本文件,导出过程包括编写导出程序以及文本文件导出过程。

由于待导出的数据集的数据格式多种多样,同时导出的文本文件的文本格式也多种多样,这样一来,当待导出的数据集的数据格式相同,但导出的文本文件的文本格式不同时,需要编写不同的导出程序,或者,当待导出的数据集的数据格式不同,而导出的文本格式相同时,也需要编写不同的导出程序,这样一来,工作人员的工作量会很大,提高了将分布式计算结果数据集导出成文本文件的导出过程的复杂度。

因此,亟需一种能够在将分布式计算结果数据集导出成文本文件时,导出过程较简单的方法。



技术实现要素:

有鉴于此,本发明提供一种导出数据的方法及装置,以解决在将分布式计算结果数据集导出成文本文件时,导出过程较复杂的问题。

为解决上述技术问题,本发明采用了如下技术方案:

一种导出数据的方法,包括:

获取配置文件中填写的导出信息,所述导出信息包括多个字段名、与每个字段名对应的导出字段格式;

获取待导出的数据集;

在所述待导出的数据集中,查找与所述导出信息中、内容为空白的导出字段格式对应的每个字段名相匹配的待解析字段;

将与所述导出信息中、内容为空白的导出字段格式对应的每个字段名相匹配的待解析字段的格式转换成字符串格式,得到第一文本文件;

在所述待导出的数据集中,查找与所述导出信息中、内容不为空白的导出字段格式对应的每个字段名相匹配的待解析字段;

通过自定义解析器,将与所述导出信息中、内容不为空白的导出字段格式对应的每个字段名相匹配的待解析字段的格式转换成预设的自定义格式,得到第二文本文件;

将所述第一文本文件中的每条记录以及所述第二文本文件中的每条记录进行整合,得到同时包含有所述第一文本文件中的每条记录以及所述第二文本文件中的每条记录的第三文本文件;

保存所述第三文本文件。

优选地,所述将与所述导出信息中、内容为空白的导出字段格式对应的每个字段名相匹配的待解析字段的格式转换成字符串格式,得到第一文本文件,包括:

将与导出信息中、内容为空白的导出字段格式对应的第i个字段名相匹配的待解析字段的格式转换成字符串格式,其中,i=1;

使i=i+1,并返回所述将与导出信息中、内容为空白的导出字段格式对应的第i个字段名相匹配的待解析字段的格式转换成字符串格式,直到将与所述导出信息中、内容为空白的导出字段格式对应的每个字段名相匹配的待解析字段的格式转换成字符串格式,得到所述第一文本文件。

优选地,得到所述第一文本文件后,还包括:

对所述第一文本文件中的各个字段名的位置按照预设规则进行排列;

其中,所述预设规则包括各个字段名之间的分隔符信息以及文本文件中的不同记录的排序信息。

优选地,所述通过自定义解析器,将与所述导出信息中、内容不为空白的导出字段格式对应的每个字段名相匹配的待解析字段的格式转换成预设的自定义格式,得到第二文本文件,包括:

将与所述导出信息中、内容不为空白的导出字段格式对应的每个字段名相匹配的待解析字段的格式,根据所述自定义解析器中预设的自定义格式进行格式转换,转换成预设的自定义格式,得到第二文本文件。

优选地,所述保存所述第三文本文件,包括:

查询保存地址;

将所述第三文本文件存储在所述保存地址中;其中所述保存地址包括磁盘、分布式文件系统或者数据库。

一种导出数据的装置,包括:

第一获取单元,用于获取配置文件中填写的导出信息,所述导出信息包括多个字段名、与每个字段名对应的导出字段格式;

第二获取单元,用于获取待导出的数据集;

第一查找单元,用于在所述待导出的数据集中,查找与所述导出信息中、内容为空白的导出字段格式对应的每个字段名相匹配的待解析字段;

第一转换单元,用于将与所述导出信息中、内容为空白的导出字段格式对应的每个字段名相匹配的待解析字段的格式转换成字符串格式,得到第一文本文件;

第二查找单元,用于在所述待导出的数据集中,查找与所述导出信息中、内容不为空白的导出字段格式对应的每个字段名相匹配的待解析字段;

第二转换单元,用于通过自定义解析器,将与所述导出信息中、内容不为空白的导出字段格式对应的每个字段名相匹配的待解析字段的格式转换成预设的自定义格式,得到第二文本文件;

整合单元,用于将所述第一文本文件中的每条记录以及所述第二文本文件中的每条记录进行整合,得到同时包含有所述第一文本文件中的每条记录以及所述第二文本文件中的每条记录的第三文本文件;

保存单元,用于保存所述第三文本文件。

优选地,所述第一转换单元包括:

第一转换子单元,用于将与所述导出信息中、内容为空白的导出字段格式对应的第i个字段名相匹配的待解析字段的格式转换成字符串格式,其中,i=1;

控制单元,用于使i=i+1;

所述第一转换子单元,还用于所述控制单元使i=i+1后,将与所述导出信息中、内容为空白的导出字段格式对应的第i个字段名相匹配的待解析字段的格式转换成字符串格式,直到将与所述导出信息中、内容为空白的导出字段格式对应的每个字段名相匹配的待解析字段的格式转换成字符串格式后停止,得到所述第一文本文件。

优选地,还包括:

排列单元,用于对所述第一文本文件中的各个字段名的位置按照预设规则进行排列;

其中,所述预设规则包括各个字段名之间的分隔符信息以及文本文件中的不同记录的排序信息。

优选地,所述第二转换单元包括:

第二转换子单元,用于将与所述导出信息中、内容不为空白的导出字段格式对应的每个字段名相匹配的待解析字段的格式,根据所述自定义解析器中预设的自定义格式进行格式转换,转换成预设的自定义格式,得到第二文本文件。

优选地,所述保存单元包括:

查询单元,用于查询保存地址;

存储单元,用于将所述第三文本文件存储在所述保存地址中;其中所述保存地址包括磁盘、分布式文件系统或者数据库。

相较于现有技术,本发明具有以下有益效果:

本发明提供了一种导出数据的方法及装置,本发明中将与所述导出信息中、内容为空白的导出字段格式对应的每个字段名相匹配的待解析字段的格式转换成字符串格式,将与所述导出信息中、内容不为空白的导出字段格式对应的每个字段名相匹配的待解析字段的格式,通过自定义解析器编写对应的导出程序,进而实现格式转换,本方案中不需要对每个待解析字段都编写对应的导出程序,减少了技术人员的工作量,使导出过程较简单。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明提供的一种导出数据的方法的方法流程图;

图2为本发明提供的另一种导出数据的方法的方法流程图;

图3为本发明提供的一种导出数据的装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明提供了一种导出数据的方法,参照图1,包括:,

S101、获取配置文件中填写的导出信息,

具体的,配置文件是提前编写好的,用户需要在上面填写导出信息,导出信息包括字段名,与每个字段名对应的导出字段格式。与每个字段名对应的导出字段格式是指该字段名对应的字段导出后的字段格式,这个导出字段格式可以是用户自己设置的自定义格式,也可以是默认的格式,当为默认的格式时,导出字段格式中的内容为空白,当为自定义格式时,导出字段格式中的内容为用户自己编译的格式。用户在填写配置文件时,是在文档编辑器中进行填写的,文档编辑器可以是word文档,也可以是记事本等。

其中,需要说明的一点是,当导出字段格式为默认的格式时,这种默认的格式为字符串格式。

S102、获取待导出的数据集;

其中,待导出的数据集为存储在计算机内存中的数据结构。数据结构是以二进制的形式存储在内存中。数据结构的格式可以是自定义的格式,也可以是哈希映射HashMap格式。

S103、在待导出的数据集中,查找与导出信息中、内容为空白的导出字段格式对应的每个字段名相匹配的待解析字段;

具体的,当导出字段格式中的内容为空白时,证明导出字段格式为字符串格式,此时在待导出的数据集中,查找想要导出成字符串格式的字段名对应的待解析字段。

S104、将与导出信息中、内容为空白的导出字段格式对应的每个字段名相匹配的待解析字段的格式转换成字符串格式,得到第一文本文件;

具体的,将想要导出成字符串格式的字段名对应的待解析字段的格式转换成字符串格式,得到第一文本文件。

其中,待解析字段的格式是已知的,待解析字段的格式可以是整数、浮点数等格式。

此外,得到第一文本文件后,还包括:

对第一文本文件中的各个字段名的位置按照预设规则进行排列;

其中,预设规则包括各个字段名之间的分隔符信息以及文本文件中的不同记录的排序信息。

由于第一文本文件中包含有多条记录,每条记录中包含有多个字段名,因此就需要对各条记录进行排序以及对每条记录中的各个字段名进行分割。根据分隔符信息,可以知道使用哪种分隔符分开各个字段名,分隔符可以是逗号、分号、空格等。根据文本文件中的不同记录的排序信息,可以知道不同记录的排列顺序。其中,分隔符信息以及文本文件中的不同记录的排序信息,都需要用户在配置文件中填写。

对第一文本文件中的各个字段名的位置按照预设规则进行排列时,首先使用分隔符将每条记录中的不同字段名进行分隔,然后将各条记录按照预设的顺序进行排列。

举例来说,使用分号分隔开各个字段名,如:

field1;field2;field3;…;fieldn;

S105、在待导出的数据集中,查找与导出信息中、内容不为空白的导出字段格式对应的每个字段名相匹配的待解析字段;

其中,导出字段格式中的内容不为空白,说明该导出字段格式为用户编写的自定义格式。本步骤是为了查找到想要转换成自定义格式的待解析字段。

S106、通过自定义解析器,将与导出信息中、内容不为空白的导出字段格式对应的每个字段名相匹配的待解析字段的格式转换成预设的自定义格式,得到第二文本文件;

具体的,通过自定义解析器,将与导出信息中、内容不为空白的导出字段格式对应的每个字段名相匹配的待解析字段的格式转换成预设的自定义格式,得到第二文本文件,包括:

将与导出信息中、内容不为空白的导出字段格式对应的每个字段名相匹配的待解析字段的格式,根据自定义解析器中预设的自定义格式进行格式转换,转换成预设的自定义格式,得到第二文本文件。

其中,用户会在自定义解析器编写有导出程序,导出程序中包含有要转出的导出字段格式以及需要导出成自定义格式的字段名。根据字段名查找与字段名相匹配的待解析字段,将待解析字段的格式转换成预设的自定义格式。

需要说明的一点是,自定义格式也为字符串格式,只是相比与一般的字符串格式来说,更复杂一些,如TRUE/FALSE。

此外,当使用自定义编辑器时,需要连接到自定义解析器的接口。

S107、将第一文本文件中的每条记录以及第二文本文件中的每条记录进行整合,得到同时包含有第一文本文件中的每条记录以及第二文本文件中的每条记录的第三文本文件;

其中,上述内容中使用了两种转换方法,分别得到第一文本文件和第二文本文件,每个文本文件中均包含有多条记录,导出时,需要将两个文本文件进行整合,即将第一文本文件中的每条记录以及第二文本文件中的每条记录整合在一起,得到第三文本文件。

S108、保存第三文本文件。

其中,保存第三文本文件,包括:

查询保存地址;

将第三文本文件存储在保存地址中;其中保存地址包括磁盘、分布式文件系统或者数据库。

具体的,当保存地址为磁盘时,查找保存路径是指查找到磁盘的数据导出路径;当保存地址为分布式文件系统时,查找保存地址是指查找统一资源标识符URI;当保存地址为数据库时,查找保存地址是指查找数据库的地址、端口、用户名、密码和表名等信息。其中,数据库包括非关系型数据库NoSQL数据库(比如Cassandra)、或者关系数据库(比如关系型数据库管理系统MySQL、Oracle数据库)中。

本实施例提供了一种导出数据的方法,将与导出信息中、内容为空白的导出字段格式对应的每个字段名相匹配的待解析字段的格式转换成字符串格式,将与导出信息中、内容不为空白的导出字段格式对应的每个字段名相匹配的待解析字段的格式,通过自定义解析器编写对应的导出程序,进而实现格式转换,本方案中不需要对每个待解析字段都编写对应的导出程序,减少了技术人员的工作量,使导出过程较简单。

可选的,本发明的另一实施例中,参照图2,将与导出信息中、内容为空白的导出字段格式对应的每个字段名相匹配的待解析字段的格式转换成字符串格式,得到第一文本文件,包括:

S201、将与导出信息中、内容为空白的导出字段格式对应的第i个字段名相匹配的待解析字段的格式转换成字符串格式,其中,i=1;

首先,当i=1时,先对第一个字段名相匹配的待解析字段的格式转换成字符串格式。

S202、判断是否将与导出信息中、内容为空白的导出字段格式对应的每个字段名相匹配的待解析字段的格式转换成字符串格式;

其中,与导出信息中、内容为空白的导出字段格式对应的字段名的个数是不确定的,可能是一个,也可能是两个或多个。当将与一个字段名相匹配的待解析字段的格式转换成字符串格式后,判断是不是将与导出信息中、内容为空白的导出字段格式对应的每个字段名相匹配的待解析字段的格式转换成字符串格式。

S203、使i=i+1;

当判断出没有将与导出信息中、内容为空白的导出字段格式对应的每个字段名相匹配的待解析字段的格式转换成字符串格式,使i=i+1,并返回步骤S201,即将下一个字段名相匹配的待解析字段的格式转换成字符串格式。

S204、得到第一文本文件。

具体的,若判断出将与导出信息中、内容为空白的导出字段格式对应的每个字段名相匹配的待解析字段的格式转换成字符串格式,得到第一文本文件。

本实施例中,依次将与导出信息中、内容为空白的导出字段格式对应的每个字段名相匹配的待解析字段的格式转换成字符串格式,直到将与导出信息中、内容为空白的导出字段格式对应的每个字段名相匹配的待解析字段的格式转换成字符串格式时停止,得到第一文本文件。

可选的,本发明的另一实施例中提供了一种导出数据的装置,参照图3,包括:

第一获取单元101,用于获取配置文件中填写的导出信息,导出信息包括多个字段名、与每个字段名对应的导出字段格式;

第二获取单元102,用于获取待导出的数据集;

第一查找单元103,用于在待导出的数据集中,查找与导出信息中、内容为空白的导出字段格式对应的每个字段名相匹配的待解析字段;

第一转换单元104,用于将与导出信息中、内容为空白的导出字段格式对应的每个字段名相匹配的待解析字段的格式转换成字符串格式,得到第一文本文件;

第二查找单元105,用于在待导出的数据集中,查找与导出信息中、内容不为空白的导出字段格式对应的每个字段名相匹配的待解析字段;

第二转换单元106,用于通过自定义解析器,将与导出信息中、内容不为空白的导出字段格式对应的每个字段名相匹配的待解析字段的格式转换成预设的自定义格式,得到第二文本文件;

整合单元107,用于将第一文本文件中的每条记录以及第二文本文件中的每条记录进行整合,得到同时包含有第一文本文件中的每条记录以及第二文本文件中的每条记录的第三文本文件;

保存单元108,用于保存第三文本文件。

其中,第二转换单元包括:

第二转换子单元,用于将与导出信息中、内容不为空白的导出字段格式对应的每个字段名相匹配的待解析字段的格式,根据自定义解析器中预设的自定义格式进行格式转换,转换成预设的自定义格式,得到第二文本文件。

此外,保存单元包括:

查询单元,用于查询保存地址;

存储单元,用于将第三文本文件存储在保存地址中;其中保存地址包括磁盘、分布式文件系统或者数据库。

导出数据的装置还包括:

排列单元,用于对第一文本文件中的各个字段名的位置按照预设规则进行排列;

其中,预设规则包括各个字段名之间的分隔符信息以及文本文件中的不同记录的排序信息。

本实施例中,将与导出信息中、内容为空白的导出字段格式对应的每个字段名相匹配的待解析字段的格式转换成字符串格式,将与导出信息中、内容不为空白的导出字段格式对应的每个字段名相匹配的待解析字段的格式,通过自定义解析器编写对应的导出程序,进而实现格式转换,本方案中不需要对每个待解析字段都编写对应的导出程序,减少了技术人员的工作量,使导出过程较简单。

需要说明的是,本实施例中的各个单元的工作过程,请参照图1对应的实施例中的内容,在此不再赘述。

可选的,本发明的另一实施例中,第一转换单元包括:

第一转换子单元,用于将与导出信息中、内容为空白的导出字段格式对应的第i个字段名相匹配的待解析字段的格式转换成字符串格式,其中,i=1;

控制单元,用于使i=i+1;

第一转换子单元,还用于控制单元使i=i+1后,将与导出信息中、内容为空白的导出字段格式对应的第i个字段名相匹配的待解析字段的格式转换成字符串格式,直到将与导出信息中、内容为空白的导出字段格式对应的每个字段名相匹配的待解析字段的格式转换成字符串格式后停止,得到第一文本文件。

本实施例中,依次将与导出信息中、内容为空白的导出字段格式对应的每个字段名相匹配的待解析字段的格式转换成字符串格式,直到将与导出信息中、内容为空白的导出字段格式对应的每个字段名相匹配的待解析字段的格式转换成字符串格式时停止,得到第一文本文件。

需要说明的是,本实施例中的各个单元的工作过程,请参照图2对应的实施例中的内容,在此不再赘述。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1