欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種讀寫分離的HBase入庫(kù)方法

文檔序號(hào):10534973閱讀:1909來源:國(guó)知局
一種讀寫分離的HBase入庫(kù)方法
【專利摘要】本發(fā)明涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,尤其涉及一種讀寫分離的HBase入庫(kù)方法,寫操作時(shí),引入WriterServer進(jìn)程接收HBaseClient發(fā)送的寫請(qǐng)求,并且將寫請(qǐng)求轉(zhuǎn)換為HFile文件存儲(chǔ)在HDFS上,然后通過HBase提供的bulkLoad接口將HFile文件移動(dòng)到HBase數(shù)據(jù)目錄下。本發(fā)明通過將讀寫請(qǐng)求下發(fā)到物理隔離或資源隔離的負(fù)責(zé)讀或?qū)懙倪M(jìn)程上,避免讀寫操作互相影響,競(jìng)爭(zhēng)資源,從而確保在實(shí)時(shí)入庫(kù)的同時(shí),有較好的查詢性能。其中,引入了WriterServer集群負(fù)責(zé)接收寫請(qǐng)求,實(shí)現(xiàn)了對(duì)HBase的實(shí)時(shí)入庫(kù),入庫(kù)效率高。
【專利說明】
_種讀寫分禹的HBase入庫(kù)方法
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,尤其涉及一種讀寫分離的HBase入庫(kù)方法。
【背景技術(shù)】
[0002]隨著大數(shù)據(jù)技術(shù)的發(fā)展和應(yīng)用,HBase逐漸成為業(yè)界廣泛使用的NoSQL分布式存儲(chǔ)系統(tǒng),它具有高可靠、面向列、開源等特點(diǎn),已被Facebook、阿里巴巴等公司成功用于生產(chǎn)系統(tǒng)。
[0003]目前HBase對(duì)外提供兩種數(shù)據(jù)寫入方式:
[0004]I)批量加載
[0005]如圖3所示,批量加載依賴于MapReduce框架,運(yùn)行MapReduce任務(wù),以待入庫(kù)的數(shù)據(jù)為輸入,將輸入數(shù)據(jù)轉(zhuǎn)換為HFile,存儲(chǔ)在HDFS上,再由HBase提供的bulkLoad接口將HFile移動(dòng)到HBase數(shù)據(jù)目錄下,該方式適合加載大量的離線數(shù)據(jù),但是時(shí)延大。
[0006]2)利用HBase 的 put 接口
[0007]如圖4所示,入庫(kù)程序從數(shù)據(jù)源中獲取數(shù)據(jù),構(gòu)造HBase可識(shí)別的put結(jié)構(gòu),調(diào)用HBase對(duì)外提供的put接口,將數(shù)據(jù)加載到HBase中Dreg1nServer收到put請(qǐng)求后,會(huì)先將數(shù)據(jù)寫到內(nèi)存中,當(dāng)內(nèi)存中的數(shù)據(jù)超過一定大小或數(shù)據(jù)被寫入內(nèi)存超過一定時(shí)間,reg1nServer會(huì)將內(nèi)存中的數(shù)據(jù)寫出到文件系統(tǒng)中,形成HFiIe文件。
[0008]現(xiàn)有入庫(kù)方案的主要問題有:
[0009]批量加載需要依賴于MapReduce框架,MapReduce任務(wù)比較耗費(fèi)資源,影響其它進(jìn)程的穩(wěn)定運(yùn)行,無法直接對(duì)流式數(shù)據(jù)入庫(kù),只能以固定的文件作為加載任務(wù)的輸入。由于批量加載需要依賴MapReduce框架,因此數(shù)據(jù)入庫(kù)的時(shí)延較大,實(shí)時(shí)性不好。
[00?0]利用HBase的put接口實(shí)時(shí)入庫(kù)程序會(huì)持續(xù)的對(duì)HBase集群進(jìn)行寫操作(put),占用大量資源(如CPU),讀操作(get、scan)的性能會(huì)受到嚴(yán)重影響。

【發(fā)明內(nèi)容】

[0011]本發(fā)明的目的是克服現(xiàn)有技術(shù)存在的缺陷,提供一種高效實(shí)時(shí)的讀寫分離的HBase入庫(kù)方法。
[0012]實(shí)現(xiàn)本發(fā)明目的的技術(shù)方案是:一種讀寫分離的HBase入庫(kù)方法,
[0013]寫操作時(shí),引入WriterServer進(jìn)程接收HBaseClient發(fā)送的寫請(qǐng)求,并且將寫請(qǐng)求轉(zhuǎn)換為HFile文件存儲(chǔ)在HDFS上,然后通過HBase提供的bulkLoad接口將HFile文件移動(dòng)到HBase數(shù)據(jù)目錄下;
[0014]讀操作時(shí),HBaseClient發(fā)出讀取請(qǐng)求,HBase集群接收讀取請(qǐng)求后,將需要的數(shù)據(jù)返回給HBaseCl ient。
[0015]作為本發(fā)明的優(yōu)化方案,Wr iterServer進(jìn)程部署在Wr iterServer集群上。
[0016]作為本發(fā)明的優(yōu)化方案JriterServer進(jìn)程部署在reg1nServer集群上,HBase的reg1nServer進(jìn)程用于處理讀請(qǐng)求,通過資源隔離技術(shù)對(duì)讀寫進(jìn)程的資源進(jìn)行隔離。[OO17]作為本發(fā)明的優(yōu)化方案,WriterServer進(jìn)程接收寫請(qǐng)求的處理流程為:
[00? 8] I)接收寫請(qǐng)求:Wri terServer進(jìn)程接收寫請(qǐng)求,檢查該寫請(qǐng)求是否合法,如果非法則返回錯(cuò)誤信息給HBaseCl ient,如果合法則打開該寫請(qǐng)求需要寫入的reg1n,將數(shù)據(jù)寫入對(duì)應(yīng)的reg1n中;
[0019]2)緩存寫入的數(shù)據(jù)IriterServer進(jìn)程會(huì)先將寫入的數(shù)據(jù)寫到對(duì)應(yīng)reg1n的內(nèi)存中,緩存起來;
[0020]3)生成HFile:當(dāng)緩存的數(shù)據(jù)滿足內(nèi)存中的數(shù)據(jù)大于閾值或者數(shù)據(jù)被寫入到內(nèi)存中超過設(shè)定時(shí)間,則會(huì)將內(nèi)存中的數(shù)據(jù)寫出到文件系統(tǒng)中,形成HFile文件;
[0021 ] 4)加載HFi Ie到HBase數(shù)據(jù)目錄:將Wr iter Server進(jìn)程生成的HFi Ie文件加載到HBase數(shù)據(jù)目錄下,使得WriterServer進(jìn)程寫出的HFiIe文件可以被HBase集群讀寫。
[0022]作為本發(fā)明的優(yōu)化方案,步驟3)形成的HFile文件被立即加載到HBase數(shù)據(jù)目錄下,使得Wr iterServer進(jìn)程寫出的HFi Ie文件可以被HBase集群讀寫。
[0023]作為本發(fā)明的優(yōu)化方案,Wr iterServer進(jìn)程持續(xù)監(jiān)控HFi Ie文件的個(gè)數(shù),當(dāng)HFi Ie文件的個(gè)數(shù)超過一定閾值時(shí),步驟3)形成的HFile文件被加載到HBase數(shù)據(jù)目錄下,使得Wr iterServer進(jìn)程寫出的HFi Ie文件可以被HBase集群讀寫。
[0024]本發(fā)明具有積極的效果:本發(fā)明通過將讀寫請(qǐng)求下發(fā)到物理隔離或資源隔離的負(fù)責(zé)讀或?qū)懙倪M(jìn)程上,避免讀寫操作互相影響,競(jìng)爭(zhēng)資源,其中,引入了ffriterServer集群負(fù)責(zé)接收寫請(qǐng)求,實(shí)現(xiàn)了對(duì)HBase的實(shí)時(shí)入庫(kù),入庫(kù)效率高。
【附圖說明】
[0025]為了使本發(fā)明的內(nèi)容更容易被清楚地理解,下面根據(jù)具體實(shí)施例并結(jié)合附圖,對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說明,其中:
[0026]圖1是本發(fā)明的原理框圖;
[0027]圖2是WriterServer進(jìn)程接收寫請(qǐng)求的處理流程圖;
[0028]圖3是本發(fā)明現(xiàn)有技術(shù)的原理框圖;
[0029]圖4是本發(fā)明現(xiàn)有技術(shù)的原理框圖。
【具體實(shí)施方式】
[°03°] 如圖1所示,一種讀寫分離的HBase入庫(kù)方法,寫操作時(shí),引入WriterServer進(jìn)程接收HBaseClient發(fā)送的寫請(qǐng)求,并且將寫請(qǐng)求轉(zhuǎn)換為HFile文件存儲(chǔ)在HDFS上,然后通過HBase提供的bulkLoad接口將HFile文件移動(dòng)到HBase數(shù)據(jù)目錄下;
[0031]讀操作時(shí),HBaseClient發(fā)出讀取請(qǐng)求,HBase集群接收讀取請(qǐng)求后,將需要的數(shù)據(jù)返回給HBaseCl ient。
[0032]通過引入Wr iterServer進(jìn)程來接收寫請(qǐng)求操作,將原本共存于reg1nServer內(nèi)的讀寫請(qǐng)求分離,由iterServer進(jìn)程處理寫請(qǐng)求,由reg1nServer進(jìn)程來處理讀請(qǐng)求。其中,將Wr i ter Server進(jìn)程部署在Wr i ter Server集群上。通過將Wr i ter Server進(jìn)程和reg1nServer進(jìn)程部署在不同的機(jī)器上,即通過物理隔離實(shí)現(xiàn)了讀寫分離。
[0033]還有一種隔離方法是資源隔離,即將WriterServer進(jìn)程部署在reg1nServer集群上,讀操作使用reg1nServer進(jìn)程,reg1nServer進(jìn)程部署在reg1nServer集群上,通過資源隔離技術(shù)如cgroups或Yarn來實(shí)現(xiàn)內(nèi)存、CPU等資源的隔離,從而實(shí)現(xiàn)讀寫分離。
[0034]如圖2所示,WriterServer進(jìn)程接收寫請(qǐng)求的處理流程為:
[0035]I)接收寫請(qǐng)求IriterServer進(jìn)程接收寫請(qǐng)求,檢查該寫請(qǐng)求是否合法,如果非法則返回錯(cuò)誤信息給HBaseCl ient,如果合法則打開該寫請(qǐng)求需要寫入的reg1n,將數(shù)據(jù)寫入對(duì)應(yīng)的reg1n中;
[0036]2)緩存寫入的數(shù)據(jù)IriterServer進(jìn)程會(huì)先將寫入的數(shù)據(jù)寫到對(duì)應(yīng)reg1n的內(nèi)存中,緩存起來;
[0037]3)生成HFile:當(dāng)緩存的數(shù)據(jù)滿足內(nèi)存中的數(shù)據(jù)大于閾值或者數(shù)據(jù)被寫入到內(nèi)存中超過設(shè)定時(shí)間,則會(huì)將內(nèi)存中的數(shù)據(jù)寫出到文件系統(tǒng)中,形成HFile文件;
[0038]4)加載HFi Ie到HBase數(shù)據(jù)目錄:將Wr iter Server進(jìn)程生成的HFi Ie文件加載到HBase數(shù)據(jù)目錄下,使得WriterServer進(jìn)程寫出的HFiIe文件可以被HBase集群讀寫。
[0039]步驟3)形成的HFiIe文件被立即加載到HBase數(shù)據(jù)目錄下,使得WriterServer進(jìn)程寫出的HFi Ie文件可以被HBase集群讀寫。
[0040]WriterServer進(jìn)程持續(xù)監(jiān)控HFi Ie文件的個(gè)數(shù),當(dāng)HFi Ie文件的個(gè)數(shù)超過一定閾值時(shí),步驟3)形成的HFile文件被加載到HBase數(shù)據(jù)目錄下,使得WriterServer進(jìn)程寫出的HFile文件可以被HBase集群讀寫。
[0041]以上所述的具體實(shí)施例,對(duì)本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實(shí)施例而已,并不用于限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【主權(quán)項(xiàng)】
1.一種讀寫分離的HBase入庫(kù)方法,其特征在于: 寫操作時(shí),引AfciterServer進(jìn)程接收HBaseClient發(fā)送的寫請(qǐng)求,并且將寫請(qǐng)求轉(zhuǎn)換為HFi Ie文件存儲(chǔ)在HDFS上,然后通過HBase提供的bulkLoad接口將HFi Ie文件移動(dòng)到HBase數(shù)據(jù)目錄下; 讀操作時(shí),HBaseClient發(fā)出讀取請(qǐng)求,HBase集群接收讀取請(qǐng)求后,將需要的數(shù)據(jù)返回給HBaseClient ο2.根據(jù)權(quán)利要求1所述的一種讀寫分離的HBase入庫(kù)方法,其特征在于:所述的WriterServer 進(jìn)程部署在 WriterServer 集群上。3.根據(jù)權(quán)利要求1所述的一種讀寫分離的HBase入庫(kù)方法,其特征在于:所述的^^6^61^61'進(jìn)程部署在^8;[011361^61'集群上,所述的讀操作使用^8;[011361^61'進(jìn)程,所述的reg1nServer進(jìn)程部署在reg1nServer集群上。4.根據(jù)權(quán)利要求1所述的一種讀寫分離的HBase入庫(kù)方法,其特征在于:所述的WriterServer進(jìn)程接收寫請(qǐng)求的處理流程為: .1)接收寫請(qǐng)求:所述的WriterServer進(jìn)程接收寫請(qǐng)求,檢查該寫請(qǐng)求是否合法,如果非法則返回錯(cuò)誤信息給HBaseCl ient,如果合法則打開該寫請(qǐng)求需要寫入的reg1n,將數(shù)據(jù)寫入對(duì)應(yīng)的:reg1n中; .2)緩存寫入的數(shù)據(jù)^riterServer進(jìn)程會(huì)先將寫入的數(shù)據(jù)寫到對(duì)應(yīng)reg1n的內(nèi)存中,緩存起來; .3)生成HFile:當(dāng)緩存的數(shù)據(jù)滿足內(nèi)存中的數(shù)據(jù)大于閾值或者數(shù)據(jù)被寫入到內(nèi)存中超過設(shè)定時(shí)間,則會(huì)將內(nèi)存中的數(shù)據(jù)寫出到文件系統(tǒng)中,形成HFiIe文件; .4)加載HFiIe到HBase數(shù)據(jù)目錄:將^';[丨61361^61'進(jìn)程生成的冊(cè);[16文件加載到冊(cè)386數(shù)據(jù)目錄下,使得WriterServer進(jìn)程寫出的HFile文件可以被HBase集群讀寫。5.根據(jù)權(quán)利要求4所述的一種讀寫分離的HBase入庫(kù)方法,其特征在于:步驟3)形成的HFi Ie文件被立即加載到HBase數(shù)據(jù)目錄下,使得terServer進(jìn)程寫出的HFi Ie文件可以被HBase集群讀寫。6.根據(jù)權(quán)利要求4所述的一種讀寫分離的HBase入庫(kù)方法,其特征在于:WriterServer進(jìn)程持續(xù)監(jiān)控HF i I e文件的個(gè)數(shù),當(dāng)HF i I e文件的個(gè)數(shù)超過一定閾值時(shí),步驟3)形成的HFi I e文件被加載到HBase數(shù)據(jù)目錄下,使得WriterServer進(jìn)程寫出的HFile文件可以被HBase集群讀寫。
【文檔編號(hào)】G06F17/30GK105893521SQ201610194383
【公開日】2016年8月24日
【申請(qǐng)日】2016年3月31日
【發(fā)明人】王勇強(qiáng), 趙智峰, 周帥鋒, 曹俊亮, 崔博, 李佳寧
【申請(qǐng)人】南京烽火軟件科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
鄯善县| 杭锦后旗| 电白县| 英德市| 宜兴市| 政和县| 灵石县| 湘阴县| 岚皋县| 新乡市| 麻江县| 临邑县| 镇原县| 额尔古纳市| 鲜城| 仁怀市| 皋兰县| 大厂| 来宾市| 都江堰市| 萨迦县| 雷州市| 广东省| 固始县| 宁武县| 阿拉尔市| 陇川县| 南汇区| 崇州市| 和林格尔县| 北川| 临澧县| 祁阳县| 娄底市| 红桥区| 沂南县| 聂荣县| 喀喇沁旗| 大名县| 康保县| 佳木斯市|