[發(fā)明專利]字符流格式轉(zhuǎn)換的方法和裝置有效
| 申請(qǐng)?zhí)枺?/td> | 201710372288.9 | 申請(qǐng)日: | 2017-05-24 |
| 公開(公告)號(hào): | CN107256206B | 公開(公告)日: | 2021-04-30 |
| 發(fā)明(設(shè)計(jì))人: | 李成飛;王永光;唐尚文;王哲涵 | 申請(qǐng)(專利權(quán))人: | 北京京東尚科信息技術(shù)有限公司;北京京東世紀(jì)貿(mào)易有限公司 |
| 主分類號(hào): | G06F40/151 | 分類號(hào): | G06F40/151 |
| 代理公司: | 中原信達(dá)知識(shí)產(chǎn)權(quán)代理有限責(zé)任公司 11219 | 代理人: | 張一軍;姜?jiǎng)?/td> |
| 地址: | 100195 北京市海淀區(qū)杏石口路6*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 字符 格式 轉(zhuǎn)換 方法 裝置 | ||
本發(fā)明提供一種字符流格式轉(zhuǎn)換的方法和裝置,涉及計(jì)算機(jī)技術(shù)領(lǐng)域,能夠提高業(yè)務(wù)數(shù)據(jù)字符流轉(zhuǎn)換成ORC格式數(shù)據(jù)流的效率,提升了存儲(chǔ)空間的利用率,節(jié)省了存儲(chǔ)空間。本發(fā)明的一個(gè)實(shí)施例的字符流格式轉(zhuǎn)換的方法包括:獲取字符流和對(duì)應(yīng)的轉(zhuǎn)換模板,其中,轉(zhuǎn)換模板定義了字符流格式轉(zhuǎn)換的對(duì)應(yīng)結(jié)構(gòu),且轉(zhuǎn)換模板根據(jù)對(duì)應(yīng)結(jié)構(gòu)中包含的字段的名稱和類型來定義;根據(jù)轉(zhuǎn)換模板,將字符流轉(zhuǎn)換成具有對(duì)應(yīng)結(jié)構(gòu)的格式的數(shù)據(jù)流。
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,特別地涉及一種字符流格式轉(zhuǎn)換的方法和裝置。
背景技術(shù)
隨著數(shù)據(jù)量的增大,數(shù)據(jù)批處理的需求也在逐步增加。目前,主流的可以進(jìn)行快速數(shù)據(jù)分析的大數(shù)據(jù)查詢引擎例如:Impala、Shark、Stinger和Presto等,一般都不支持?jǐn)?shù)據(jù)存儲(chǔ)。為了進(jìn)行海量數(shù)據(jù)的快速分析,可以先將數(shù)據(jù)轉(zhuǎn)換處理并存儲(chǔ)到數(shù)據(jù)倉庫中,之后使用大數(shù)據(jù)查詢引擎從數(shù)據(jù)倉庫中讀取數(shù)據(jù)并進(jìn)行快速的數(shù)據(jù)分析。
Hive作為一款基于Hadoop的數(shù)據(jù)倉庫工具,它可以將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫表,能將通用的sql語句轉(zhuǎn)換為MapReduce任務(wù)運(yùn)行,并且其數(shù)據(jù)存儲(chǔ)在Hadoop分布式文件系統(tǒng)HDFS(Hadoop Distributed File System)上,完美解決了海量數(shù)據(jù)存儲(chǔ)的問題。因此Hive數(shù)據(jù)倉庫在數(shù)據(jù)存儲(chǔ)方面得到了廣泛應(yīng)用。目前,Hive中數(shù)據(jù)的存儲(chǔ)格式例如TEXTFILE、SEQUENCEFILE、RCFILE、ORCFILE(Optimized Row Columnar file)等等。其中,ORC格式可以高效地存儲(chǔ)Hive數(shù)據(jù),并可以規(guī)避其他文件格式存在的缺陷,使用ORC文件格式可以提升Hive讀、寫與處理數(shù)據(jù)的性能。尤其是,一些數(shù)據(jù)查詢引擎,例如Presto,其針對(duì)優(yōu)化行列文件ORCFILE格式Hive表的查詢做了大量優(yōu)化,因此Presto對(duì)ORC格式文件的查詢性能和穩(wěn)定性都遠(yuǎn)高于其他格式的數(shù)據(jù)表。
然而,初始的用戶數(shù)據(jù)多以非ORC的格式存在,因此將用戶數(shù)據(jù)轉(zhuǎn)換成ORC格式的數(shù)據(jù)成為一個(gè)必不可少的步驟。
目前通用的將用戶數(shù)據(jù)轉(zhuǎn)換成ORC格式數(shù)據(jù)的流程如圖1所示,主要過程如下:
1、通過編寫一個(gè)Map/Reduce應(yīng)用程序,將用戶數(shù)據(jù)讀取成字符流,并將字符流存儲(chǔ)為txt格式的文本文件;
2、新建兩個(gè)字段相同的Hive表TableA_txt和TableA_orc用于存儲(chǔ)讀取的字符流,其中TableA_txt種數(shù)據(jù)存儲(chǔ)格式為文本文件txt,TableA_orc中數(shù)據(jù)存儲(chǔ)格式為優(yōu)化行列文件ORC;
3、先將txt文件直接保存到TableA_txt,然后通過設(shè)置篩選條件,將剛才保存到TableA_txt的數(shù)據(jù)插入到TableA_orc中,完成整個(gè)數(shù)據(jù)的轉(zhuǎn)換操作。
在實(shí)現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)存在如下技術(shù)問題:
1、現(xiàn)有技術(shù)方案的過程比較冗長,自動(dòng)化難度高,且將用戶數(shù)據(jù)讀取成字符流之后的操作需要有開發(fā)人員介入,效率較低;
2、在進(jìn)行數(shù)據(jù)格式轉(zhuǎn)換的過程中會(huì)有臨時(shí)的txt文件產(chǎn)生,并且需要提前建立兩個(gè)表,而最終數(shù)據(jù)查詢引擎使用的只有一個(gè)表,因此浪費(fèi)了存儲(chǔ)空間。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明實(shí)施例提供一種字符流格式轉(zhuǎn)換的方法和裝置,能夠提高業(yè)務(wù)數(shù)據(jù)字符流轉(zhuǎn)換成ORC格式數(shù)據(jù)流的效率,提升了存儲(chǔ)空間的利用率,節(jié)省了存儲(chǔ)空間。
為實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明實(shí)施例的一個(gè)方面,提供了一種字符流格式轉(zhuǎn)換的方法。
一種字符流格式轉(zhuǎn)換的方法,包括:獲取字符流和對(duì)應(yīng)的轉(zhuǎn)換模板,其中,所述轉(zhuǎn)換模板定義了所述字符流格式轉(zhuǎn)換的對(duì)應(yīng)結(jié)構(gòu),且所述轉(zhuǎn)換模板根據(jù)所述對(duì)應(yīng)結(jié)構(gòu)中包含的字段的名稱和類型來定義;根據(jù)所述轉(zhuǎn)換模板,將所述字符流轉(zhuǎn)換成具有所述對(duì)應(yīng)結(jié)構(gòu)的格式的數(shù)據(jù)流。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京京東尚科信息技術(shù)有限公司;北京京東世紀(jì)貿(mào)易有限公司,未經(jīng)北京京東尚科信息技術(shù)有限公司;北京京東世紀(jì)貿(mào)易有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710372288.9/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 圖像轉(zhuǎn)換設(shè)備、圖像轉(zhuǎn)換電路及圖像轉(zhuǎn)換方法
- 數(shù)模轉(zhuǎn)換電路及轉(zhuǎn)換方法
- 轉(zhuǎn)換設(shè)備和轉(zhuǎn)換方法
- 占空比轉(zhuǎn)換電路及轉(zhuǎn)換方法
- 通信轉(zhuǎn)換方法、轉(zhuǎn)換裝置及轉(zhuǎn)換系統(tǒng)
- 模數(shù)轉(zhuǎn)換和模數(shù)轉(zhuǎn)換方法
- 轉(zhuǎn)換模塊以及轉(zhuǎn)換電路
- 熱電轉(zhuǎn)換材料、熱電轉(zhuǎn)換元件和熱電轉(zhuǎn)換模塊
- 熱電轉(zhuǎn)換材料、熱電轉(zhuǎn)換元件及熱電轉(zhuǎn)換模塊
- 熱電轉(zhuǎn)換材料、熱電轉(zhuǎn)換元件及熱電轉(zhuǎn)換模塊
- 一種數(shù)據(jù)庫讀寫分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





