[發明專利]一種基于HDFS海量數據快速導入HBase的方法在審
| 申請號: | 201710124754.1 | 申請日: | 2017-03-03 |
| 公開(公告)號: | CN106897450A | 公開(公告)日: | 2017-06-27 |
| 發明(設計)人: | 喬晉偉 | 申請(專利權)人: | 鄭州云海信息技術有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 濟南舜源專利事務所有限公司37205 | 代理人: | 張亮 |
| 地址: | 450000 河南省鄭州市*** | 國省代碼: | 河南;41 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 hdfs 海量 數據 快速 導入 hbase 方法 | ||
技術領域
本發明屬于數據處理技術領域,具體涉及一種基于HDFS海量數據快速導入HBase的方法。
背景技術
在社會快速發展的今天,各行各業每天都會產生大量的數據,數據來源囊括了我們周圍可以捕獲的任何類型數據,網站、社交媒體、交易型商業數據以及其它商業環境中創建的數據。面對海量數據,將數據進行快速存儲利用尤為重要,可以使用編程模型MapReduce直接向HBase導入數據,但海量的數據集會使得MapReduce Job作業也變得很繁重。若處理不當,則可能使得MapReduce的job運行時的吞吐量很小,也可以使用HBase的API中的Put方法,用法也很容易學習和操作,但針對大部分情況,它并非都是最高效的方式。當需要將海量數據在規定時間內載入HBase中時,效率問題體現得尤為明顯。
發明內容
本發明的目的在于,針對上述現有技術存在的缺陷,提供設計一種基于HDFS海量數據快速導入HBase的方法,以解決上述技術問題。
為了達到上述目的,本發明提供的技術方案為:
一種基于HDFS海量數據快速導入HBase的方法,其特征在于,包括以下步驟:
步驟1:從數據源提取數據并以流的方式上傳到HDFS;
步驟2:用編程模型對數據進行篩選運算和處理,生成HBase的底層數據存儲的文件HFile;
步驟3:判斷HBase數據庫中是否有HBase表;若沒有,在HBase數據庫建HBase表,并在建表時對所建的HBase表進行預分區,若有,執行步驟4;
步驟4:將文件在HDFS上的位置傳遞給區域服務器Region Servers,利用Region Server將數據導入到相應分區目錄下,完成與HBase表的關聯,實現數據導入。
步驟2的實現過程為:用編程模型Map Reduce作業準備數據,第一個作業運行業務處理邏輯,處理結果寫入到HDFS上的中間目錄下,第二個作業以第一個作業的輸出作為輸入,生成HBase的底層數據存儲的文件HFile。
編程模型Map Reduce作業使用行鍵作為輸出Key,KeyValue或者Put作為輸出Value類型,當導入的數據有多列時使用Put,只有一個列時使用KeyValue。
創建表時對表進行預分區,設置Reduce數等于分區數Region,分區時利用每個分區的端值startKey、endKey進行行鍵區間劃分。
根據對象的行主鍵確定對象所述的區域服務器。
數據源包括文本文件或其他數據庫。
建HBase表的同時建對應的索引表,將HBase表中涉及條件過濾的字段和行鍵在Solr搜索應用服務器中建立索引,通過Solr的多條件查詢快速獲得符合過濾條件的行鍵值,根據此行鍵關聯HBase表行鍵,在HBase表的Region查找所需數據。
本發明的有益效果在于,
利用MapReduce作業輸出HBase的內部數據存儲格式文件,然后將生成的數據文件直接與HBase表做關聯,實現數據導入。與使用HBase API相比,使用本發明方式導入數據占用更少的CPU和網絡資源;實現方法高效便捷,在導入過程不占用Region資源,而且在大數據寫入時能極大的提高寫入效率,提高了Job的運行速度,節省內存。
此外,本發明設計原理可靠,結構簡單,具有非常廣泛的應用前景。
由此可見,本發明與現有技術相比,具有突出的實質性特點和顯著地進步,其實施的有益效果也是顯而易見的。
附圖說明
圖1為一種基于HDFS海量數據快速導入HBase的方法結構框圖。
圖2為建立HBase表對應索引的流程圖。
具體實施方式
下面結合附圖并通過具體實施例對本發明進行詳細闡述,以下實施例是對本發明的解釋,而本發明并不局限于以下實施方式。
如圖1所示,本實施例提供的一種基于HDFS海量數據快速導入HBase的方法,包括以下步驟:
步驟1:從數據源提取數據并以流的方式上傳到HDFS;
步驟2:用編程模型對數據進行篩選運算和處理,生成HBase的底層數據存儲的文件HFile;
步驟3:判斷HBase數據庫中是否有HBase表;若沒有,在HBase數據庫建HBase表,并在建表時對所建的HBase表進行預分區,若有,執行步驟4;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于鄭州云海信息技術有限公司,未經鄭州云海信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710124754.1/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:排序方法及裝置
- 下一篇:一種基于專利信息的社交網絡平臺系統及智能社交方法
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





