本發(fā)明涉及通信領(lǐng)域,更具體的說(shuō),涉及一種導(dǎo)出數(shù)據(jù)的方法及裝置。
背景技術(shù):
在分布式大數(shù)據(jù)處理的應(yīng)用程序開(kāi)發(fā)中,通常需要將分布式計(jì)算結(jié)果數(shù)據(jù)集導(dǎo)出成文本文件,導(dǎo)出過(guò)程包括編寫導(dǎo)出程序以及文本文件導(dǎo)出過(guò)程。
由于待導(dǎo)出的數(shù)據(jù)集的數(shù)據(jù)格式多種多樣,同時(shí)導(dǎo)出的文本文件的文本格式也多種多樣,這樣一來(lái),當(dāng)待導(dǎo)出的數(shù)據(jù)集的數(shù)據(jù)格式相同,但導(dǎo)出的文本文件的文本格式不同時(shí),需要編寫不同的導(dǎo)出程序,或者,當(dāng)待導(dǎo)出的數(shù)據(jù)集的數(shù)據(jù)格式不同,而導(dǎo)出的文本格式相同時(shí),也需要編寫不同的導(dǎo)出程序,這樣一來(lái),工作人員的工作量會(huì)很大,提高了將分布式計(jì)算結(jié)果數(shù)據(jù)集導(dǎo)出成文本文件的導(dǎo)出過(guò)程的復(fù)雜度。
因此,亟需一種能夠在將分布式計(jì)算結(jié)果數(shù)據(jù)集導(dǎo)出成文本文件時(shí),導(dǎo)出過(guò)程較簡(jiǎn)單的方法。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明提供一種導(dǎo)出數(shù)據(jù)的方法及裝置,以解決在將分布式計(jì)算結(jié)果數(shù)據(jù)集導(dǎo)出成文本文件時(shí),導(dǎo)出過(guò)程較復(fù)雜的問(wèn)題。
為解決上述技術(shù)問(wèn)題,本發(fā)明采用了如下技術(shù)方案:
一種導(dǎo)出數(shù)據(jù)的方法,包括:
獲取配置文件中填寫的導(dǎo)出信息,所述導(dǎo)出信息包括多個(gè)字段名、與每個(gè)字段名對(duì)應(yīng)的導(dǎo)出字段格式;
獲取待導(dǎo)出的數(shù)據(jù)集;
在所述待導(dǎo)出的數(shù)據(jù)集中,查找與所述導(dǎo)出信息中、內(nèi)容為空白的導(dǎo)出字段格式對(duì)應(yīng)的每個(gè)字段名相匹配的待解析字段;
將與所述導(dǎo)出信息中、內(nèi)容為空白的導(dǎo)出字段格式對(duì)應(yīng)的每個(gè)字段名相匹配的待解析字段的格式轉(zhuǎn)換成字符串格式,得到第一文本文件;
在所述待導(dǎo)出的數(shù)據(jù)集中,查找與所述導(dǎo)出信息中、內(nèi)容不為空白的導(dǎo)出字段格式對(duì)應(yīng)的每個(gè)字段名相匹配的待解析字段;
通過(guò)自定義解析器,將與所述導(dǎo)出信息中、內(nèi)容不為空白的導(dǎo)出字段格式對(duì)應(yīng)的每個(gè)字段名相匹配的待解析字段的格式轉(zhuǎn)換成預(yù)設(shè)的自定義格式,得到第二文本文件;
將所述第一文本文件中的每條記錄以及所述第二文本文件中的每條記錄進(jìn)行整合,得到同時(shí)包含有所述第一文本文件中的每條記錄以及所述第二文本文件中的每條記錄的第三文本文件;
保存所述第三文本文件。
優(yōu)選地,所述將與所述導(dǎo)出信息中、內(nèi)容為空白的導(dǎo)出字段格式對(duì)應(yīng)的每個(gè)字段名相匹配的待解析字段的格式轉(zhuǎn)換成字符串格式,得到第一文本文件,包括:
將與導(dǎo)出信息中、內(nèi)容為空白的導(dǎo)出字段格式對(duì)應(yīng)的第i個(gè)字段名相匹配的待解析字段的格式轉(zhuǎn)換成字符串格式,其中,i=1;
使i=i+1,并返回所述將與導(dǎo)出信息中、內(nèi)容為空白的導(dǎo)出字段格式對(duì)應(yīng)的第i個(gè)字段名相匹配的待解析字段的格式轉(zhuǎn)換成字符串格式,直到將與所述導(dǎo)出信息中、內(nèi)容為空白的導(dǎo)出字段格式對(duì)應(yīng)的每個(gè)字段名相匹配的待解析字段的格式轉(zhuǎn)換成字符串格式,得到所述第一文本文件。
優(yōu)選地,得到所述第一文本文件后,還包括:
對(duì)所述第一文本文件中的各個(gè)字段名的位置按照預(yù)設(shè)規(guī)則進(jìn)行排列;
其中,所述預(yù)設(shè)規(guī)則包括各個(gè)字段名之間的分隔符信息以及文本文件中的不同記錄的排序信息。
優(yōu)選地,所述通過(guò)自定義解析器,將與所述導(dǎo)出信息中、內(nèi)容不為空白的導(dǎo)出字段格式對(duì)應(yīng)的每個(gè)字段名相匹配的待解析字段的格式轉(zhuǎn)換成預(yù)設(shè)的自定義格式,得到第二文本文件,包括:
將與所述導(dǎo)出信息中、內(nèi)容不為空白的導(dǎo)出字段格式對(duì)應(yīng)的每個(gè)字段名相匹配的待解析字段的格式,根據(jù)所述自定義解析器中預(yù)設(shè)的自定義格式進(jìn)行格式轉(zhuǎn)換,轉(zhuǎn)換成預(yù)設(shè)的自定義格式,得到第二文本文件。
優(yōu)選地,所述保存所述第三文本文件,包括:
查詢保存地址;
將所述第三文本文件存儲(chǔ)在所述保存地址中;其中所述保存地址包括磁盤、分布式文件系統(tǒng)或者數(shù)據(jù)庫(kù)。
一種導(dǎo)出數(shù)據(jù)的裝置,包括:
第一獲取單元,用于獲取配置文件中填寫的導(dǎo)出信息,所述導(dǎo)出信息包括多個(gè)字段名、與每個(gè)字段名對(duì)應(yīng)的導(dǎo)出字段格式;
第二獲取單元,用于獲取待導(dǎo)出的數(shù)據(jù)集;
第一查找單元,用于在所述待導(dǎo)出的數(shù)據(jù)集中,查找與所述導(dǎo)出信息中、內(nèi)容為空白的導(dǎo)出字段格式對(duì)應(yīng)的每個(gè)字段名相匹配的待解析字段;
第一轉(zhuǎn)換單元,用于將與所述導(dǎo)出信息中、內(nèi)容為空白的導(dǎo)出字段格式對(duì)應(yīng)的每個(gè)字段名相匹配的待解析字段的格式轉(zhuǎn)換成字符串格式,得到第一文本文件;
第二查找單元,用于在所述待導(dǎo)出的數(shù)據(jù)集中,查找與所述導(dǎo)出信息中、內(nèi)容不為空白的導(dǎo)出字段格式對(duì)應(yīng)的每個(gè)字段名相匹配的待解析字段;
第二轉(zhuǎn)換單元,用于通過(guò)自定義解析器,將與所述導(dǎo)出信息中、內(nèi)容不為空白的導(dǎo)出字段格式對(duì)應(yīng)的每個(gè)字段名相匹配的待解析字段的格式轉(zhuǎn)換成預(yù)設(shè)的自定義格式,得到第二文本文件;
整合單元,用于將所述第一文本文件中的每條記錄以及所述第二文本文件中的每條記錄進(jìn)行整合,得到同時(shí)包含有所述第一文本文件中的每條記錄以及所述第二文本文件中的每條記錄的第三文本文件;
保存單元,用于保存所述第三文本文件。
優(yōu)選地,所述第一轉(zhuǎn)換單元包括:
第一轉(zhuǎn)換子單元,用于將與所述導(dǎo)出信息中、內(nèi)容為空白的導(dǎo)出字段格式對(duì)應(yīng)的第i個(gè)字段名相匹配的待解析字段的格式轉(zhuǎn)換成字符串格式,其中,i=1;
控制單元,用于使i=i+1;
所述第一轉(zhuǎn)換子單元,還用于所述控制單元使i=i+1后,將與所述導(dǎo)出信息中、內(nèi)容為空白的導(dǎo)出字段格式對(duì)應(yīng)的第i個(gè)字段名相匹配的待解析字段的格式轉(zhuǎn)換成字符串格式,直到將與所述導(dǎo)出信息中、內(nèi)容為空白的導(dǎo)出字段格式對(duì)應(yīng)的每個(gè)字段名相匹配的待解析字段的格式轉(zhuǎn)換成字符串格式后停止,得到所述第一文本文件。
優(yōu)選地,還包括:
排列單元,用于對(duì)所述第一文本文件中的各個(gè)字段名的位置按照預(yù)設(shè)規(guī)則進(jìn)行排列;
其中,所述預(yù)設(shè)規(guī)則包括各個(gè)字段名之間的分隔符信息以及文本文件中的不同記錄的排序信息。
優(yōu)選地,所述第二轉(zhuǎn)換單元包括:
第二轉(zhuǎn)換子單元,用于將與所述導(dǎo)出信息中、內(nèi)容不為空白的導(dǎo)出字段格式對(duì)應(yīng)的每個(gè)字段名相匹配的待解析字段的格式,根據(jù)所述自定義解析器中預(yù)設(shè)的自定義格式進(jìn)行格式轉(zhuǎn)換,轉(zhuǎn)換成預(yù)設(shè)的自定義格式,得到第二文本文件。
優(yōu)選地,所述保存單元包括:
查詢單元,用于查詢保存地址;
存儲(chǔ)單元,用于將所述第三文本文件存儲(chǔ)在所述保存地址中;其中所述保存地址包括磁盤、分布式文件系統(tǒng)或者數(shù)據(jù)庫(kù)。
相較于現(xiàn)有技術(shù),本發(fā)明具有以下有益效果:
本發(fā)明提供了一種導(dǎo)出數(shù)據(jù)的方法及裝置,本發(fā)明中將與所述導(dǎo)出信息中、內(nèi)容為空白的導(dǎo)出字段格式對(duì)應(yīng)的每個(gè)字段名相匹配的待解析字段的格式轉(zhuǎn)換成字符串格式,將與所述導(dǎo)出信息中、內(nèi)容不為空白的導(dǎo)出字段格式對(duì)應(yīng)的每個(gè)字段名相匹配的待解析字段的格式,通過(guò)自定義解析器編寫對(duì)應(yīng)的導(dǎo)出程序,進(jìn)而實(shí)現(xiàn)格式轉(zhuǎn)換,本方案中不需要對(duì)每個(gè)待解析字段都編寫對(duì)應(yīng)的導(dǎo)出程序,減少了技術(shù)人員的工作量,使導(dǎo)出過(guò)程較簡(jiǎn)單。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
圖1為本發(fā)明提供的一種導(dǎo)出數(shù)據(jù)的方法的方法流程圖;
圖2為本發(fā)明提供的另一種導(dǎo)出數(shù)據(jù)的方法的方法流程圖;
圖3為本發(fā)明提供的一種導(dǎo)出數(shù)據(jù)的裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明提供了一種導(dǎo)出數(shù)據(jù)的方法,參照?qǐng)D1,包括:,
S101、獲取配置文件中填寫的導(dǎo)出信息,
具體的,配置文件是提前編寫好的,用戶需要在上面填寫導(dǎo)出信息,導(dǎo)出信息包括字段名,與每個(gè)字段名對(duì)應(yīng)的導(dǎo)出字段格式。與每個(gè)字段名對(duì)應(yīng)的導(dǎo)出字段格式是指該字段名對(duì)應(yīng)的字段導(dǎo)出后的字段格式,這個(gè)導(dǎo)出字段格式可以是用戶自己設(shè)置的自定義格式,也可以是默認(rèn)的格式,當(dāng)為默認(rèn)的格式時(shí),導(dǎo)出字段格式中的內(nèi)容為空白,當(dāng)為自定義格式時(shí),導(dǎo)出字段格式中的內(nèi)容為用戶自己編譯的格式。用戶在填寫配置文件時(shí),是在文檔編輯器中進(jìn)行填寫的,文檔編輯器可以是word文檔,也可以是記事本等。
其中,需要說(shuō)明的一點(diǎn)是,當(dāng)導(dǎo)出字段格式為默認(rèn)的格式時(shí),這種默認(rèn)的格式為字符串格式。
S102、獲取待導(dǎo)出的數(shù)據(jù)集;
其中,待導(dǎo)出的數(shù)據(jù)集為存儲(chǔ)在計(jì)算機(jī)內(nèi)存中的數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)結(jié)構(gòu)是以二進(jìn)制的形式存儲(chǔ)在內(nèi)存中。數(shù)據(jù)結(jié)構(gòu)的格式可以是自定義的格式,也可以是哈希映射HashMap格式。
S103、在待導(dǎo)出的數(shù)據(jù)集中,查找與導(dǎo)出信息中、內(nèi)容為空白的導(dǎo)出字段格式對(duì)應(yīng)的每個(gè)字段名相匹配的待解析字段;
具體的,當(dāng)導(dǎo)出字段格式中的內(nèi)容為空白時(shí),證明導(dǎo)出字段格式為字符串格式,此時(shí)在待導(dǎo)出的數(shù)據(jù)集中,查找想要導(dǎo)出成字符串格式的字段名對(duì)應(yīng)的待解析字段。
S104、將與導(dǎo)出信息中、內(nèi)容為空白的導(dǎo)出字段格式對(duì)應(yīng)的每個(gè)字段名相匹配的待解析字段的格式轉(zhuǎn)換成字符串格式,得到第一文本文件;
具體的,將想要導(dǎo)出成字符串格式的字段名對(duì)應(yīng)的待解析字段的格式轉(zhuǎn)換成字符串格式,得到第一文本文件。
其中,待解析字段的格式是已知的,待解析字段的格式可以是整數(shù)、浮點(diǎn)數(shù)等格式。
此外,得到第一文本文件后,還包括:
對(duì)第一文本文件中的各個(gè)字段名的位置按照預(yù)設(shè)規(guī)則進(jìn)行排列;
其中,預(yù)設(shè)規(guī)則包括各個(gè)字段名之間的分隔符信息以及文本文件中的不同記錄的排序信息。
由于第一文本文件中包含有多條記錄,每條記錄中包含有多個(gè)字段名,因此就需要對(duì)各條記錄進(jìn)行排序以及對(duì)每條記錄中的各個(gè)字段名進(jìn)行分割。根據(jù)分隔符信息,可以知道使用哪種分隔符分開(kāi)各個(gè)字段名,分隔符可以是逗號(hào)、分號(hào)、空格等。根據(jù)文本文件中的不同記錄的排序信息,可以知道不同記錄的排列順序。其中,分隔符信息以及文本文件中的不同記錄的排序信息,都需要用戶在配置文件中填寫。
對(duì)第一文本文件中的各個(gè)字段名的位置按照預(yù)設(shè)規(guī)則進(jìn)行排列時(shí),首先使用分隔符將每條記錄中的不同字段名進(jìn)行分隔,然后將各條記錄按照預(yù)設(shè)的順序進(jìn)行排列。
舉例來(lái)說(shuō),使用分號(hào)分隔開(kāi)各個(gè)字段名,如:
field1;field2;field3;…;fieldn;
S105、在待導(dǎo)出的數(shù)據(jù)集中,查找與導(dǎo)出信息中、內(nèi)容不為空白的導(dǎo)出字段格式對(duì)應(yīng)的每個(gè)字段名相匹配的待解析字段;
其中,導(dǎo)出字段格式中的內(nèi)容不為空白,說(shuō)明該導(dǎo)出字段格式為用戶編寫的自定義格式。本步驟是為了查找到想要轉(zhuǎn)換成自定義格式的待解析字段。
S106、通過(guò)自定義解析器,將與導(dǎo)出信息中、內(nèi)容不為空白的導(dǎo)出字段格式對(duì)應(yīng)的每個(gè)字段名相匹配的待解析字段的格式轉(zhuǎn)換成預(yù)設(shè)的自定義格式,得到第二文本文件;
具體的,通過(guò)自定義解析器,將與導(dǎo)出信息中、內(nèi)容不為空白的導(dǎo)出字段格式對(duì)應(yīng)的每個(gè)字段名相匹配的待解析字段的格式轉(zhuǎn)換成預(yù)設(shè)的自定義格式,得到第二文本文件,包括:
將與導(dǎo)出信息中、內(nèi)容不為空白的導(dǎo)出字段格式對(duì)應(yīng)的每個(gè)字段名相匹配的待解析字段的格式,根據(jù)自定義解析器中預(yù)設(shè)的自定義格式進(jìn)行格式轉(zhuǎn)換,轉(zhuǎn)換成預(yù)設(shè)的自定義格式,得到第二文本文件。
其中,用戶會(huì)在自定義解析器編寫有導(dǎo)出程序,導(dǎo)出程序中包含有要轉(zhuǎn)出的導(dǎo)出字段格式以及需要導(dǎo)出成自定義格式的字段名。根據(jù)字段名查找與字段名相匹配的待解析字段,將待解析字段的格式轉(zhuǎn)換成預(yù)設(shè)的自定義格式。
需要說(shuō)明的一點(diǎn)是,自定義格式也為字符串格式,只是相比與一般的字符串格式來(lái)說(shuō),更復(fù)雜一些,如TRUE/FALSE。
此外,當(dāng)使用自定義編輯器時(shí),需要連接到自定義解析器的接口。
S107、將第一文本文件中的每條記錄以及第二文本文件中的每條記錄進(jìn)行整合,得到同時(shí)包含有第一文本文件中的每條記錄以及第二文本文件中的每條記錄的第三文本文件;
其中,上述內(nèi)容中使用了兩種轉(zhuǎn)換方法,分別得到第一文本文件和第二文本文件,每個(gè)文本文件中均包含有多條記錄,導(dǎo)出時(shí),需要將兩個(gè)文本文件進(jìn)行整合,即將第一文本文件中的每條記錄以及第二文本文件中的每條記錄整合在一起,得到第三文本文件。
S108、保存第三文本文件。
其中,保存第三文本文件,包括:
查詢保存地址;
將第三文本文件存儲(chǔ)在保存地址中;其中保存地址包括磁盤、分布式文件系統(tǒng)或者數(shù)據(jù)庫(kù)。
具體的,當(dāng)保存地址為磁盤時(shí),查找保存路徑是指查找到磁盤的數(shù)據(jù)導(dǎo)出路徑;當(dāng)保存地址為分布式文件系統(tǒng)時(shí),查找保存地址是指查找統(tǒng)一資源標(biāo)識(shí)符URI;當(dāng)保存地址為數(shù)據(jù)庫(kù)時(shí),查找保存地址是指查找數(shù)據(jù)庫(kù)的地址、端口、用戶名、密碼和表名等信息。其中,數(shù)據(jù)庫(kù)包括非關(guān)系型數(shù)據(jù)庫(kù)NoSQL數(shù)據(jù)庫(kù)(比如Cassandra)、或者關(guān)系數(shù)據(jù)庫(kù)(比如關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)MySQL、Oracle數(shù)據(jù)庫(kù))中。
本實(shí)施例提供了一種導(dǎo)出數(shù)據(jù)的方法,將與導(dǎo)出信息中、內(nèi)容為空白的導(dǎo)出字段格式對(duì)應(yīng)的每個(gè)字段名相匹配的待解析字段的格式轉(zhuǎn)換成字符串格式,將與導(dǎo)出信息中、內(nèi)容不為空白的導(dǎo)出字段格式對(duì)應(yīng)的每個(gè)字段名相匹配的待解析字段的格式,通過(guò)自定義解析器編寫對(duì)應(yīng)的導(dǎo)出程序,進(jìn)而實(shí)現(xiàn)格式轉(zhuǎn)換,本方案中不需要對(duì)每個(gè)待解析字段都編寫對(duì)應(yīng)的導(dǎo)出程序,減少了技術(shù)人員的工作量,使導(dǎo)出過(guò)程較簡(jiǎn)單。
可選的,本發(fā)明的另一實(shí)施例中,參照?qǐng)D2,將與導(dǎo)出信息中、內(nèi)容為空白的導(dǎo)出字段格式對(duì)應(yīng)的每個(gè)字段名相匹配的待解析字段的格式轉(zhuǎn)換成字符串格式,得到第一文本文件,包括:
S201、將與導(dǎo)出信息中、內(nèi)容為空白的導(dǎo)出字段格式對(duì)應(yīng)的第i個(gè)字段名相匹配的待解析字段的格式轉(zhuǎn)換成字符串格式,其中,i=1;
首先,當(dāng)i=1時(shí),先對(duì)第一個(gè)字段名相匹配的待解析字段的格式轉(zhuǎn)換成字符串格式。
S202、判斷是否將與導(dǎo)出信息中、內(nèi)容為空白的導(dǎo)出字段格式對(duì)應(yīng)的每個(gè)字段名相匹配的待解析字段的格式轉(zhuǎn)換成字符串格式;
其中,與導(dǎo)出信息中、內(nèi)容為空白的導(dǎo)出字段格式對(duì)應(yīng)的字段名的個(gè)數(shù)是不確定的,可能是一個(gè),也可能是兩個(gè)或多個(gè)。當(dāng)將與一個(gè)字段名相匹配的待解析字段的格式轉(zhuǎn)換成字符串格式后,判斷是不是將與導(dǎo)出信息中、內(nèi)容為空白的導(dǎo)出字段格式對(duì)應(yīng)的每個(gè)字段名相匹配的待解析字段的格式轉(zhuǎn)換成字符串格式。
S203、使i=i+1;
當(dāng)判斷出沒(méi)有將與導(dǎo)出信息中、內(nèi)容為空白的導(dǎo)出字段格式對(duì)應(yīng)的每個(gè)字段名相匹配的待解析字段的格式轉(zhuǎn)換成字符串格式,使i=i+1,并返回步驟S201,即將下一個(gè)字段名相匹配的待解析字段的格式轉(zhuǎn)換成字符串格式。
S204、得到第一文本文件。
具體的,若判斷出將與導(dǎo)出信息中、內(nèi)容為空白的導(dǎo)出字段格式對(duì)應(yīng)的每個(gè)字段名相匹配的待解析字段的格式轉(zhuǎn)換成字符串格式,得到第一文本文件。
本實(shí)施例中,依次將與導(dǎo)出信息中、內(nèi)容為空白的導(dǎo)出字段格式對(duì)應(yīng)的每個(gè)字段名相匹配的待解析字段的格式轉(zhuǎn)換成字符串格式,直到將與導(dǎo)出信息中、內(nèi)容為空白的導(dǎo)出字段格式對(duì)應(yīng)的每個(gè)字段名相匹配的待解析字段的格式轉(zhuǎn)換成字符串格式時(shí)停止,得到第一文本文件。
可選的,本發(fā)明的另一實(shí)施例中提供了一種導(dǎo)出數(shù)據(jù)的裝置,參照?qǐng)D3,包括:
第一獲取單元101,用于獲取配置文件中填寫的導(dǎo)出信息,導(dǎo)出信息包括多個(gè)字段名、與每個(gè)字段名對(duì)應(yīng)的導(dǎo)出字段格式;
第二獲取單元102,用于獲取待導(dǎo)出的數(shù)據(jù)集;
第一查找單元103,用于在待導(dǎo)出的數(shù)據(jù)集中,查找與導(dǎo)出信息中、內(nèi)容為空白的導(dǎo)出字段格式對(duì)應(yīng)的每個(gè)字段名相匹配的待解析字段;
第一轉(zhuǎn)換單元104,用于將與導(dǎo)出信息中、內(nèi)容為空白的導(dǎo)出字段格式對(duì)應(yīng)的每個(gè)字段名相匹配的待解析字段的格式轉(zhuǎn)換成字符串格式,得到第一文本文件;
第二查找單元105,用于在待導(dǎo)出的數(shù)據(jù)集中,查找與導(dǎo)出信息中、內(nèi)容不為空白的導(dǎo)出字段格式對(duì)應(yīng)的每個(gè)字段名相匹配的待解析字段;
第二轉(zhuǎn)換單元106,用于通過(guò)自定義解析器,將與導(dǎo)出信息中、內(nèi)容不為空白的導(dǎo)出字段格式對(duì)應(yīng)的每個(gè)字段名相匹配的待解析字段的格式轉(zhuǎn)換成預(yù)設(shè)的自定義格式,得到第二文本文件;
整合單元107,用于將第一文本文件中的每條記錄以及第二文本文件中的每條記錄進(jìn)行整合,得到同時(shí)包含有第一文本文件中的每條記錄以及第二文本文件中的每條記錄的第三文本文件;
保存單元108,用于保存第三文本文件。
其中,第二轉(zhuǎn)換單元包括:
第二轉(zhuǎn)換子單元,用于將與導(dǎo)出信息中、內(nèi)容不為空白的導(dǎo)出字段格式對(duì)應(yīng)的每個(gè)字段名相匹配的待解析字段的格式,根據(jù)自定義解析器中預(yù)設(shè)的自定義格式進(jìn)行格式轉(zhuǎn)換,轉(zhuǎn)換成預(yù)設(shè)的自定義格式,得到第二文本文件。
此外,保存單元包括:
查詢單元,用于查詢保存地址;
存儲(chǔ)單元,用于將第三文本文件存儲(chǔ)在保存地址中;其中保存地址包括磁盤、分布式文件系統(tǒng)或者數(shù)據(jù)庫(kù)。
導(dǎo)出數(shù)據(jù)的裝置還包括:
排列單元,用于對(duì)第一文本文件中的各個(gè)字段名的位置按照預(yù)設(shè)規(guī)則進(jìn)行排列;
其中,預(yù)設(shè)規(guī)則包括各個(gè)字段名之間的分隔符信息以及文本文件中的不同記錄的排序信息。
本實(shí)施例中,將與導(dǎo)出信息中、內(nèi)容為空白的導(dǎo)出字段格式對(duì)應(yīng)的每個(gè)字段名相匹配的待解析字段的格式轉(zhuǎn)換成字符串格式,將與導(dǎo)出信息中、內(nèi)容不為空白的導(dǎo)出字段格式對(duì)應(yīng)的每個(gè)字段名相匹配的待解析字段的格式,通過(guò)自定義解析器編寫對(duì)應(yīng)的導(dǎo)出程序,進(jìn)而實(shí)現(xiàn)格式轉(zhuǎn)換,本方案中不需要對(duì)每個(gè)待解析字段都編寫對(duì)應(yīng)的導(dǎo)出程序,減少了技術(shù)人員的工作量,使導(dǎo)出過(guò)程較簡(jiǎn)單。
需要說(shuō)明的是,本實(shí)施例中的各個(gè)單元的工作過(guò)程,請(qǐng)參照?qǐng)D1對(duì)應(yīng)的實(shí)施例中的內(nèi)容,在此不再贅述。
可選的,本發(fā)明的另一實(shí)施例中,第一轉(zhuǎn)換單元包括:
第一轉(zhuǎn)換子單元,用于將與導(dǎo)出信息中、內(nèi)容為空白的導(dǎo)出字段格式對(duì)應(yīng)的第i個(gè)字段名相匹配的待解析字段的格式轉(zhuǎn)換成字符串格式,其中,i=1;
控制單元,用于使i=i+1;
第一轉(zhuǎn)換子單元,還用于控制單元使i=i+1后,將與導(dǎo)出信息中、內(nèi)容為空白的導(dǎo)出字段格式對(duì)應(yīng)的第i個(gè)字段名相匹配的待解析字段的格式轉(zhuǎn)換成字符串格式,直到將與導(dǎo)出信息中、內(nèi)容為空白的導(dǎo)出字段格式對(duì)應(yīng)的每個(gè)字段名相匹配的待解析字段的格式轉(zhuǎn)換成字符串格式后停止,得到第一文本文件。
本實(shí)施例中,依次將與導(dǎo)出信息中、內(nèi)容為空白的導(dǎo)出字段格式對(duì)應(yīng)的每個(gè)字段名相匹配的待解析字段的格式轉(zhuǎn)換成字符串格式,直到將與導(dǎo)出信息中、內(nèi)容為空白的導(dǎo)出字段格式對(duì)應(yīng)的每個(gè)字段名相匹配的待解析字段的格式轉(zhuǎn)換成字符串格式時(shí)停止,得到第一文本文件。
需要說(shuō)明的是,本實(shí)施例中的各個(gè)單元的工作過(guò)程,請(qǐng)參照?qǐng)D2對(duì)應(yīng)的實(shí)施例中的內(nèi)容,在此不再贅述。
對(duì)所公開(kāi)的實(shí)施例的上述說(shuō)明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對(duì)這些實(shí)施例的多種修改對(duì)本領(lǐng)域的專業(yè)技術(shù)人員來(lái)說(shuō)將是顯而易見(jiàn)的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會(huì)被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開(kāi)的原理和新穎特點(diǎn)相一致的最寬的范圍。