国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種基于hbase的數(shù)據(jù)散列處理方法及裝置制造方法

      文檔序號:6627053閱讀:284來源:國知局
      一種基于hbase的數(shù)據(jù)散列處理方法及裝置制造方法
      【專利摘要】本發(fā)明公開一種基于hbase的數(shù)據(jù)散列處理方法,包括步驟:將hbase的接口文件加載到HDFS分布式文件存儲或裝置中;將所述接口文件轉(zhuǎn)換成HFILE存儲格式;獲取規(guī)范化處理后的接口文件中的各數(shù)據(jù)的KEY字段;根據(jù)每個KEY字段分別生成隨機(jī)種子,并以hbase的物理存儲節(jié)點的總數(shù)為除數(shù)對每個隨機(jī)種子進(jìn)行取模,獲得節(jié)點編號;分別將每個KEY字段所對應(yīng)的數(shù)據(jù)加載至節(jié)點編號所對應(yīng)的物理存儲節(jié)點。本發(fā)明還公開一種基于hbase的數(shù)據(jù)散列處理裝置。本發(fā)明能均衡各節(jié)點的負(fù)載,提高節(jié)點訪問效率。
      【專利說明】一種基于hbase的數(shù)據(jù)散列處理方法及裝置

      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及大數(shù)據(jù)處理領(lǐng)域,特別是涉及一種基于hbase的數(shù)據(jù)散列處理方法及
      >J-U ρ?α裝直。

      【背景技術(shù)】
      [0002]移動互聯(lián)網(wǎng)時代,移動通信行業(yè)的用戶行為數(shù)據(jù)量激增,數(shù)據(jù)分析領(lǐng)域采用先進(jìn)的大數(shù)據(jù)技術(shù)進(jìn)行數(shù)據(jù)分析和數(shù)據(jù)訪問工作,如hbase。但在實際應(yīng)用過程中往往會存在并行訪問某批數(shù)據(jù)訪問的問題,這主要是因為hbase在數(shù)據(jù)寫入時使用了單調(diào)遞增或者時序的key將訪問熱度高的數(shù)據(jù)聚集在一個reg1n(物理節(jié)點)上,造成訪問集中在該reg1n上,無法發(fā)揮集群性能的目標(biāo)。
      [0003]對于HBASE的查詢實現(xiàn)有兩種方式:一種是按指定RowKey獲取唯——條記錄的get方法,另一種是按照指定的條件獲取一批記錄的Scan方法。其中實現(xiàn)條件查詢功能使用的是Scan方法,通過rowkey設(shè)計使批量獲取記錄集合在一起,可以提高條件查詢的效率。但對于rowkey設(shè)計保證訪問熱度高的數(shù)據(jù)集合分散在集群節(jié)點中,避免集中訪問的問題一直沒有有效的方法。
      [0004]目前,在大數(shù)據(jù)領(lǐng)域中,已經(jīng)有hbase相關(guān)查詢優(yōu)化的方法,現(xiàn)有的hbase的查詢優(yōu)化方法存在如下缺陷:訪問熱度較高的數(shù)據(jù)集合存儲能提高訪問效率,但方法中沒有涉及到訪問熱度高數(shù)據(jù)如何提高訪問效率的方法,若訪問熱度高的數(shù)據(jù)集合在一個節(jié)點中,造成該節(jié)點的負(fù)載很高,降低了訪問效率。


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

      [0005]本發(fā)明所要解決的技術(shù)問題是:提供一種基于hbase的數(shù)據(jù)散列處理方法及裝置,能有效解決現(xiàn)有技術(shù)中訪問熱度高的數(shù)據(jù)集合在一個節(jié)點中,節(jié)點的負(fù)載高,訪問效率低的問題。
      [0006]為了解決上述技術(shù)問題,本發(fā)明采用的技術(shù)方案為:
      [0007]一種基于hbase的數(shù)據(jù)散列處理方法,包括步驟:將(hbase的)接口文件加載到HDFS分布式文件存儲或裝置中;將所述接口文件轉(zhuǎn)換成HFILE存儲格式;獲取規(guī)范化處理后的接口文件中的各數(shù)據(jù)的KEY字段;根據(jù)每個KEY字段分別生成隨機(jī)種子,并以(hbase的)物理存儲節(jié)點的總數(shù)為除數(shù)對每個隨機(jī)種子進(jìn)行取模,獲得節(jié)點編號;分別將每個KEY字段所對應(yīng)的數(shù)據(jù)加載至節(jié)點編號所對應(yīng)的物理存儲節(jié)點。
      [0008]為解決上述技術(shù)問題,本發(fā)明提供的另一技術(shù)方案為:
      [0009]—種基于hbase的數(shù)據(jù)散列處理裝置,包括第一加載模塊、轉(zhuǎn)換模塊、取模模塊和第二加載模塊;所述第一加載模塊用于將(hbase的)接口文件加載到HDFS分布式文件存儲或裝置中;所述轉(zhuǎn)換模塊用于將所述接口文件轉(zhuǎn)換成HFILE存儲格式;獲取規(guī)范化處理后的接口文件中的各數(shù)據(jù)的KEY字段;所述取模模塊用于根據(jù)每個KEY字段分別生成隨機(jī)種子,并以(hbase的)物理存儲節(jié)點的總數(shù)為除數(shù)對每個隨機(jī)種子進(jìn)行取模,獲得節(jié)點編號;所述第二加載模塊用于分別將每個KEY字段所對應(yīng)的數(shù)據(jù)加載至節(jié)點編號所對應(yīng)的物理存儲節(jié)點。
      [0010]本發(fā)明的有益效果在于:區(qū)別于現(xiàn)有技術(shù)中訪問熱度高的數(shù)據(jù)集合在一個節(jié)點中,節(jié)點的負(fù)載高,訪問效率低,本發(fā)明通過將接口文件轉(zhuǎn)換成HFILE存儲格式(規(guī)范化處理),以各數(shù)據(jù)的KEY字段生成隨機(jī)種子,并對所述隨機(jī)種子進(jìn)行取模,根據(jù)取模的結(jié)果將所述各數(shù)據(jù)分散至各節(jié)點進(jìn)行存儲,因此將所述各數(shù)據(jù)均勻的分配至集群各節(jié)點上,均衡了各節(jié)點的訪問壓力,提高了節(jié)點訪問效率。

      【專利附圖】

      【附圖說明】
      [0011]圖1為本發(fā)明一實施方式基于hbase的數(shù)據(jù)分布裝置的功能框圖;
      [0012]圖2為本發(fā)明一實施方式一種基于hbase的數(shù)據(jù)散列處理方法流程圖;
      [0013]圖3為本發(fā)明一實施方式一種基于hbase的數(shù)據(jù)散列處理裝置的功能框圖;
      [0014]圖4為本發(fā)明一實施方式一條接口數(shù)據(jù)加載和訪問hbase場景的方法運(yùn)行步驟流程圖;
      [0015]圖5為本發(fā)明一實施方式基于hbase的數(shù)據(jù)散列處理方法步驟的詳細(xì)示意圖。

      【具體實施方式】
      [0016]為詳細(xì)說明本發(fā)明的技術(shù)內(nèi)容、所實現(xiàn)目的及效果,以下結(jié)合實施方式并配合附圖予以說明。
      [0017]本發(fā)明最關(guān)鍵的構(gòu)思在于:通過各數(shù)據(jù)的KEY字段生成隨機(jī)種子,對隨機(jī)種子取模,根據(jù)取模結(jié)果將數(shù)據(jù)分散至不同的節(jié)點,均攤訪問壓力,提高訪問效率。
      [0018]請參閱圖1,為基于hbase的數(shù)據(jù)分布裝置的功能框架圖,流式計算數(shù)據(jù)分布裝置各層具體說明如下:
      [0019]獲取層:負(fù)責(zé)將接口數(shù)據(jù)裝載到HDFS(HAD00P分布式文件存儲)中,并進(jìn)行HFILE(HBase中KeyValue數(shù)據(jù)的存儲格式)規(guī)范化;
      [0020]處理層:負(fù)責(zé)HBASE表數(shù)據(jù)塊的定義、接口數(shù)據(jù)的加載指引(落到HBASE哪個數(shù)據(jù)塊中)、以及接口加載HBASE工作;
      [0021]針對預(yù)估的數(shù)據(jù)大小和HADOOP節(jié)點情況來預(yù)先分配REG1N的個數(shù)用于每個數(shù)據(jù)塊的存放,提取手機(jī)號碼字段(數(shù)據(jù)分布主鍵)用于數(shù)據(jù)分布的計算依據(jù),通過手機(jī)號碼計算唯一的隨機(jī)種子,然后結(jié)合流式計算集群中的物理節(jié)點數(shù)量取模,取模的值作為物理節(jié)點編號,也就是輸入數(shù)據(jù)通過數(shù)據(jù)分布裝置輸出的目的地。
      [0022]功能層:負(fù)責(zé)hbase數(shù)據(jù)的處理、查詢等對外服務(wù)工作。
      [0023]請參照圖2,本發(fā)明的技術(shù)方案為:一種基于hbase的數(shù)據(jù)散列處理方法,包括步驟:
      [0024]S1、將hbase的接口文件加載到HDFS分布式文件存儲或裝置中;其中,所述接口文件就是需要進(jìn)行處理的數(shù)據(jù)文件,包括手機(jī)上網(wǎng)日志數(shù)據(jù);
      [0025]S2、將所述接口文件轉(zhuǎn)換成HFILE存儲格式;獲取規(guī)范化處理后的接口文件中的各數(shù)據(jù)的KEY字段;
      [0026]S3、根據(jù)每個KEY字段分別生成隨機(jī)種子,并以(hbase的)物理存儲節(jié)點的總數(shù)為除數(shù)對每個隨機(jī)種子進(jìn)行取模,獲得節(jié)點編號;
      [0027]S4、分別將每個KEY字段所對應(yīng)的數(shù)據(jù)加載至節(jié)點編號所對應(yīng)的物理存儲節(jié)點。
      [0028]從上述描述可知,本發(fā)明的有益效果在于:本發(fā)明通過將接口文件轉(zhuǎn)換至HFILE存儲格式(規(guī)范化處理),根據(jù)接口文件中各數(shù)據(jù)的KEY字段生成隨機(jī)種子,并對所述隨機(jī)種子取模,在本發(fā)明取模的除數(shù)定義為節(jié)點的總數(shù)量,這樣對隨機(jī)種子取模后的值會確定在節(jié)點總數(shù)內(nèi),根據(jù)取模的結(jié)果將各數(shù)據(jù)分散存儲至各節(jié)點,從而使所述各數(shù)據(jù)均勻的分配至各節(jié)點進(jìn)行存儲,均衡各節(jié)點的訪問負(fù)載,提高了節(jié)點訪問效率。
      [0029]進(jìn)一步的,所述生成隨機(jī)種子的方法為平方取中法。
      [0030]進(jìn)一步的,所述生成隨機(jī)種子的方法為線性取余法。
      [0031]其中,所述線性取余法為將種子設(shè)為X0,用一個算法X(n+1) = (a*X(n)+b)mod c產(chǎn)生X(n+1),一般將c取得很大,即可產(chǎn)生O到c-Ι之間的偽隨機(jī)數(shù)。
      [0032]進(jìn)一步的,所述接口文件為手機(jī)上網(wǎng)日志數(shù)據(jù)。
      [0033]進(jìn)一步的,所述數(shù)據(jù)的KEY字段為手機(jī)號碼字段。
      [0034]請參照圖3,本發(fā)明的另一技術(shù)方案為:一種基于hbase的數(shù)據(jù)散列處理裝置,包括第一加載模塊、轉(zhuǎn)換模塊、取模模塊和第二加載模塊;
      [0035]所述第一加載模塊用于將(hbase的)接口文件加載到HDFS分布式文件存儲或裝置中;
      [0036]所述轉(zhuǎn)換模塊用于將所述接口文件轉(zhuǎn)換成HFILE存儲格式;獲取規(guī)范化處理后的接口文件中的各數(shù)據(jù)的KEY字段;
      [0037]所述取模模塊用于根據(jù)每個KEY字段分別生成隨機(jī)種子,并以(hbase的)物理存儲節(jié)點的總數(shù)為除數(shù)對每個隨機(jī)種子進(jìn)行取模,獲得節(jié)點編號;
      [0038]所述第二加載模塊用于分別將每個KEY字段所對應(yīng)的數(shù)據(jù)加載至節(jié)點編號所對應(yīng)的物理存儲節(jié)點。
      [0039]從上述描述可知,本發(fā)明的有益效果在于:本發(fā)明通過將接口文件轉(zhuǎn)換至HFILE存儲格式(規(guī)范化處理),根據(jù)接口文件中各數(shù)據(jù)的KEY字段生成隨機(jī)種子,并對所述隨機(jī)種子取模,在本發(fā)明取模的除數(shù)定義為節(jié)點的總數(shù)量,這樣對隨機(jī)種子取模后的值會確定在節(jié)點總數(shù)內(nèi),根據(jù)取模的結(jié)果將各數(shù)據(jù)分散2000存儲至各節(jié)點,從而使所述各數(shù)據(jù)均勻的分配至各節(jié)點進(jìn)行存儲,均衡各節(jié)點的訪問負(fù)載,提高了節(jié)點訪問效率。
      [0040]進(jìn)一步的,所述取模模塊根據(jù)每個KEY字段生成隨機(jī)種子的方法為平方取中法。
      [0041]進(jìn)一步的,所述取模模塊根據(jù)每個KEY字段生成隨機(jī)種子的方法為線性取余法。
      [0042]進(jìn)一步的,所述接口文件為手機(jī)上網(wǎng)日志數(shù)據(jù)。
      [0043]進(jìn)一步的,所述數(shù)據(jù)的KEY字段為手機(jī)號碼字段。
      [0044]請參照圖4,本發(fā)明的實施例一為:為了更好的理解本發(fā)明,以下通過以一條接口數(shù)據(jù)加載和訪問hbase場景的方法運(yùn)作步驟做出詳細(xì)闡述:
      [0045]步驟1:數(shù)據(jù)裝載HDFS,通過JAVA程序?qū)⒔涌谖募虞d到HDFS分布式文件存儲;
      [0046]步驟2 =HFILE規(guī)范化,HFILE是HBase中KeyValue數(shù)據(jù)的存儲格式,是屬于HDFS分布式文件系統(tǒng)中的文件,應(yīng)用程序?qū)⒃贖DFS上的接口文件進(jìn)行HFILE的格式化,便于后續(xù)加載數(shù)據(jù)加載到HBASE ;
      [0047]步驟3:獲取數(shù)據(jù)中的KEY字段作為數(shù)據(jù)分布的鍵值;
      [0048]步驟4:根據(jù)KEY取隨機(jī)種子,取隨機(jī)種子的算法可以有多種,如平方取中法、線性取余法。生成出來的隨機(jī)種子作為初始條件用于后面取模所用,一個KEY通過一種隨機(jī)數(shù)算法只會生產(chǎn)一個唯一的隨機(jī)種子;
      [0049]步驟5:隨機(jī)種子取模,在取模算法中,除數(shù)定義為REG1N總數(shù)量,這樣隨機(jī)種子REG1N總數(shù)量的值會確定在一個范圍內(nèi),這個范圍就是REG1N個數(shù);
      [0050]步驟6:根據(jù)隨機(jī)種子和reg1n總數(shù)量取摸,在取模算法中,除數(shù)定義為REG1N總數(shù)量,這樣隨機(jī)種子REG1N總數(shù)量的值會確定在一個范圍內(nèi),這個范圍就是REG1N個數(shù),取模后的值可做為該條數(shù)據(jù)所屬的REG1N節(jié)點編號,是指引數(shù)據(jù)流向的關(guān)鍵信息;
      [0051]步驟7:得到基于取模值的REG1N編號,通過RIG1N編號指引數(shù)據(jù)加載到對應(yīng)的REG1N 中去。
      [0052]請參閱圖5,是對上述步驟5、6、7的詳細(xì)圖示說明。
      [0053]綜上所述,本發(fā)明提供的基于hbase的數(shù)據(jù)散列處理方法及裝置通過對接口數(shù)據(jù)的各數(shù)據(jù)(塊)進(jìn)行規(guī)范化處理,根據(jù)各數(shù)據(jù)(塊)的KEY字段生成隨機(jī)種子,并對各隨機(jī)種子進(jìn)行取模,根據(jù)取模的結(jié)果將各數(shù)據(jù)(塊)分配給編號與取模結(jié)果相應(yīng)的節(jié)點中,使數(shù)據(jù)(塊)均勻的存儲至各集群節(jié)點中,均攤各節(jié)點的訪問壓力,提高節(jié)點訪問效率。
      [0054]以上所述僅為本發(fā)明的實施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等同變換,或直接或間接運(yùn)用在相關(guān)的【技術(shù)領(lǐng)域】,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。
      【權(quán)利要求】
      1.一種基于hbase的數(shù)據(jù)散列處理方法,其特征在于,包括步驟: 將hbase的接口文件加載到HDFS分布式文件存儲或裝置中; 將所述接口文件轉(zhuǎn)換成HFILE存儲格式;獲取規(guī)范化處理后的接口文件中的各數(shù)據(jù)的KEY字段; 根據(jù)每個KEY字段分別生成隨機(jī)種子,并以hbase的物理存儲節(jié)點的總數(shù)為除數(shù)對每個隨機(jī)種子進(jìn)行取模,獲得節(jié)點編號; 分別將每個KEY字段所對應(yīng)的數(shù)據(jù)加載至節(jié)點編號所對應(yīng)的物理存儲節(jié)點。
      2.根據(jù)權(quán)利要求1所述的基于hbase的數(shù)據(jù)散列處理方法,其特征在于,所述生成隨機(jī)種子的方法為平方取中法。
      3.根據(jù)權(quán)利要求1所述的基于hbase的數(shù)據(jù)散列處理方法,其特征在于,所述生成隨機(jī)種子的方法為線性取余法。
      4.根據(jù)權(quán)利要求2或3所述的基于hbase的數(shù)據(jù)散列處理方法,其特征在于,所述接口文件為手機(jī)上網(wǎng)日志數(shù)據(jù)。
      5.根據(jù)權(quán)利要求4所述的基于hbase的數(shù)據(jù)散列處理方法,其特征在于,所述數(shù)據(jù)的KEY字段為手機(jī)號碼字段。
      6.一種基于hbase的數(shù)據(jù)散列處理裝置,其特征在于,包括第一加載模塊、轉(zhuǎn)換模塊、取模模塊和第二加載模塊; 所述第一加載模塊用于將hbase的接口文件加載到HDFS分布式文件存儲或裝置中; 所述轉(zhuǎn)換模塊用于將所述接口文件轉(zhuǎn)換成HFILE存儲格式;獲取規(guī)范化處理后的接口文件中的各數(shù)據(jù)的KEY字段; 所述取模模塊用于根據(jù)每個KEY字段分別生成隨機(jī)種子,并以hbase的物理存儲節(jié)點的總數(shù)為除數(shù)對每個隨機(jī)種子進(jìn)行取模,獲得節(jié)點編號; 所述第二加載模塊用于分別將每個KEY字段所對應(yīng)的數(shù)據(jù)加載至節(jié)點編號所對應(yīng)的物理存儲節(jié)點。
      7.根據(jù)權(quán)利要求6所述的基于hbase的數(shù)據(jù)散列處理裝置,其特征在于,所述取模模塊根據(jù)每個KEY字段生成隨機(jī)種子的方法為平方取中法。
      8.根據(jù)權(quán)利要求6所述的基于hbase的數(shù)據(jù)散列處理裝置,其特征在于,所述取模模塊根據(jù)每個KEY字段生成隨機(jī)種子的方法為線性取余法。
      9.根據(jù)權(quán)利要求7或8所述的基于hbase的數(shù)據(jù)散列處理裝置,其特征在于,所述接口文件為手機(jī)上網(wǎng)日志數(shù)據(jù)。
      10.根據(jù)權(quán)利要求9所述的基于hbase的數(shù)據(jù)散列處理裝置,其特征在于,所述數(shù)據(jù)的KEY字段為手機(jī)號碼字段。
      【文檔編號】G06F17/30GK104252535SQ201410471421
      【公開日】2014年12月31日 申請日期:2014年9月16日 優(yōu)先權(quán)日:2014年9月16日
      【發(fā)明者】朱愛軍, 葉瀟, 陳威, 林菓 申請人:福建新大陸軟件工程有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1