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

一種從HBase中增量抽取數(shù)據(jù)的方法及系統(tǒng)與流程

文檔序號:12597966閱讀:2942來源:國知局
本發(fā)明涉及大數(shù)據(jù)處理的
技術(shù)領(lǐng)域
:,尤其涉及一種從HBase中增量抽取數(shù)據(jù)的方法,以及從HBase中增量抽取數(shù)據(jù)的系統(tǒng)。
背景技術(shù)
::目前有很多互聯(lián)網(wǎng)公司采用HBase(HadoopDatabase,HBase是GoogleBigtable的開源實現(xiàn),類似GoogleBigtable利用GFS作為其文件存儲系統(tǒng),HBase利用HadoopHDFS作為其文件存儲系統(tǒng);Google運行MapReduce來處理Bigtable中的海量數(shù)據(jù),HBase同樣利用HadoopMapReduce來處理HBase中的海量數(shù)據(jù);GoogleBigtable利用Chubby作為協(xié)同服務(wù),HBase利用Zookeeper作為對應(yīng)。)存儲業(yè)務(wù)系統(tǒng)的數(shù)據(jù),可以支持存儲海量數(shù)據(jù)。而進行業(yè)務(wù)數(shù)據(jù)分析,往往是在數(shù)據(jù)平臺上進行。這就需要從HBase中抽取數(shù)據(jù)到數(shù)據(jù)平臺上。由于從HBase中全量抽取數(shù)據(jù)代價大,往往希望可以按天維度增量抽取數(shù)據(jù)?,F(xiàn)有的抽取方法主要有兩種:一、業(yè)務(wù)表中表結(jié)構(gòu)設(shè)計支持按天維度增量抽取。具體做法:HBase的主鍵可以設(shè)定為組合主鍵。即主鍵上是多個項目。例如:rowkey由i1、i2、i3三項組成,并且順序也是按照i1、i2、i3的先后順序。如果要讓業(yè)務(wù)表支持按天維度增量抽取,需要滿足第一項i1是日期。使用HBase提供的API,scan來讀取數(shù)據(jù)。假如要抽取的數(shù)據(jù)所屬日期為date(如20160803),scan設(shè)定startRow為date,stopRow設(shè)定為date+1。這種做法的問題:這種增量抽取數(shù)據(jù)的方法限定了業(yè)務(wù)表的主鍵結(jié)構(gòu),必須將日期作為組合主鍵的第一項。而業(yè)務(wù)是多種多樣的,主鍵的設(shè)計根據(jù)業(yè)務(wù)需求的不同也是多種多樣的,不一定將日期設(shè)定為主鍵的第一項。業(yè)務(wù)情景一:存儲人員信息。使用方式是根據(jù)人員ID查詢?nèi)藛T信息。主鍵是人員的ID,列是人員信息。如果要支持按天維度增量抽取數(shù)據(jù),將主鍵設(shè)計成為組合主鍵:date+人員ID。則無法滿足按人員ID查詢?nèi)藛T信息。業(yè)務(wù)情景二:存儲用戶的歷史訂單信息。使用方式是查詢用戶在一定時間段內(nèi)的歷史訂單情況。主鍵是date+人員ID,列是訂單信息。這種場景下,由于業(yè)務(wù)需求已經(jīng)將日期設(shè)定為組合主鍵的第一項了,可以支持按天維度增量抽取數(shù)據(jù),同時也滿足業(yè)務(wù)需求。綜上所述,方法一這種設(shè)計不滿足通用的做法。二、抽取數(shù)據(jù)時采用全量抽取數(shù)據(jù)。全量抽取數(shù)據(jù)必然滿足通用性。但是隨著時間的推移,抽取數(shù)據(jù)的耗時將越來越大,數(shù)據(jù)平臺上冗余的數(shù)據(jù)也將越來越多。技術(shù)實現(xiàn)要素:為克服現(xiàn)有技術(shù)的缺陷,本發(fā)明要解決的技術(shù)問題是提供了一種從HBase中增量抽取數(shù)據(jù)的方法,其能夠?qū)崿F(xiàn)對業(yè)務(wù)透明,滿足通用性,而且能夠避免隨著時間的推移,抽取數(shù)據(jù)的耗時將越來越大,數(shù)據(jù)平臺上冗余的數(shù)據(jù)也將越來越多的問題。本發(fā)明的技術(shù)方案是:這種從HBase中增量抽取數(shù)據(jù)的方法,其包括以下步驟:(1)在HBase創(chuàng)建一個索引表,用來存儲所有業(yè)務(wù)表的索引信息;(2)構(gòu)造該索引表,使其包括主鍵和列,索引表的主鍵排序方式和業(yè)務(wù)表相同;(3)在HBase中給業(yè)務(wù)表配置協(xié)處理器coprocessor,支持向索引表寫入索引數(shù)據(jù);(4)指定要抽取的業(yè)務(wù)表和要抽取的日期,然后抽取數(shù)據(jù);(5)將抽取的數(shù)據(jù)保存到hdfs上。本發(fā)明通過在HBase中給業(yè)務(wù)表配置協(xié)處理器coprocessor,支持向索引表寫入索引數(shù)據(jù),指定要抽取的業(yè)務(wù)表和要抽取的日期,然后抽取數(shù)據(jù),從而能夠?qū)崿F(xiàn)對業(yè)務(wù)透明,滿足通用性,而且能夠避免隨著時間的推移,抽取數(shù)據(jù)的耗時將越來越大,數(shù)據(jù)平臺上冗余的數(shù)據(jù)也將越來越多的問題。還提供了一種從HBase中增量抽取數(shù)據(jù)的系統(tǒng),該系統(tǒng)包括:索引表,其配置來存儲所有業(yè)務(wù)表的索引信息,該索引表包括主鍵和列,索引表的主鍵排序方式和業(yè)務(wù)表相同;協(xié)處理器,其配置來支持向索引表寫入索引數(shù)據(jù);數(shù)據(jù)抽取模塊,其配置來指定要抽取的業(yè)務(wù)表和要抽取的日期,然后抽取數(shù)據(jù);存儲模塊,其配置來將抽取的數(shù)據(jù)保存到hdfs上。附圖說明圖1所示為根據(jù)本發(fā)明的從HBase中增量抽取數(shù)據(jù)的方法的流程圖。具體實施方式如圖1所示,這種從HBase中增量抽取數(shù)據(jù)的方法,其包括以下步驟:(1)在HBase創(chuàng)建一個索引表,用來存儲所有業(yè)務(wù)表的索引信息;(2)構(gòu)造該索引表,使其包括主鍵和列,索引表的主鍵排序方式和業(yè)務(wù)表相同;(3)在HBase中給業(yè)務(wù)表配置協(xié)處理器coprocessor,支持向索引表寫入索引數(shù)據(jù);(4)指定要抽取的業(yè)務(wù)表和要抽取的日期,然后抽取數(shù)據(jù);(5)將抽取的數(shù)據(jù)保存到hdfs(即Hadoop分布式文件系統(tǒng),其被設(shè)計成適合運行在通用硬件上的分布式文件系統(tǒng)。它和現(xiàn)有的分布式文件系統(tǒng)有很多共同點。但同時,它和其他的分布式文件系統(tǒng)的區(qū)別也是很明顯的。HDFS是一個高度容錯性的系統(tǒng),適合部署在廉價的機器上。HDFS能提供高吞吐量的數(shù)據(jù)訪問,非常適合大規(guī)模數(shù)據(jù)集上的應(yīng)用。)上。本發(fā)明通過在HBase中給業(yè)務(wù)表配置協(xié)處理器coprocessor,支持向索引表寫入索引數(shù)據(jù),指定要抽取的業(yè)務(wù)表和要抽取的日期,然后抽取數(shù)據(jù),從而能夠?qū)崿F(xiàn)對業(yè)務(wù)透明,滿足通用性,而且能夠避免隨著時間的推移,抽取數(shù)據(jù)的耗時將越來越大,數(shù)據(jù)平臺上冗余的數(shù)據(jù)也將越來越多的問題。另外,所述步驟(2)中的主鍵包括業(yè)務(wù)表表名、日期、業(yè)務(wù)表主鍵值;列為一列,用于存儲空值。另外,所述步驟(3)中向業(yè)務(wù)表寫數(shù)據(jù)的時候,協(xié)處理器截獲寫請求,取出業(yè)務(wù)表表名、寫請求的主鍵值,再加上協(xié)處理器截獲寫請求時的系統(tǒng)時間,來構(gòu)建索引表的主鍵值,將這些數(shù)據(jù)寫入索引表中。另外,該方法應(yīng)用于:業(yè)務(wù)表使用bulkload方式,先生成HFile,再在導(dǎo)入到Hbase。另外,所述步驟(4)中,使用HBase的api,scan讀取索引表數(shù)據(jù);根據(jù)業(yè)務(wù)表表名、日期值,構(gòu)建scan的startRow;根據(jù)業(yè)務(wù)表表名、日期值+1,構(gòu)建scan的stopRow。本領(lǐng)域普通技術(shù)人員可以理解,實現(xiàn)上述實施例方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,所述的程序可以存儲于一計算機可讀取存儲介質(zhì)中,該程序在執(zhí)行時,包括上述實施例方法的各步驟,而所述的存儲介質(zhì)可以是:ROM/RAM、磁碟、光盤、存儲卡等。因此,與本發(fā)明的方法相對應(yīng)的,本發(fā)明還同時包括一種從HBase中增量抽取數(shù)據(jù)的系統(tǒng),該系統(tǒng)通常以與方法各步驟相對應(yīng)的功能模塊的形式表示。該系統(tǒng)包括:索引表,其配置來存儲所有業(yè)務(wù)表的索引信息,該索引表包括主鍵和列,索引表的主鍵排序方式和業(yè)務(wù)表相同;協(xié)處理器,其配置來支持向索引表寫入索引數(shù)據(jù);數(shù)據(jù)抽取模塊,其配置來指定要抽取的業(yè)務(wù)表和要抽取的日期,然后抽取數(shù)據(jù);存儲模塊,其配置來將抽取的數(shù)據(jù)保存到hdfs上。另外,所述主鍵包括業(yè)務(wù)表表名、日期、業(yè)務(wù)表主鍵值;列為一列,用于存儲空值。另外,所述協(xié)處理器中,向業(yè)務(wù)表寫數(shù)據(jù)的時候,協(xié)處理器截獲寫請求,取出業(yè)務(wù)表表名、寫請求的主鍵值,再加上協(xié)處理器截獲寫請求時的系統(tǒng)時間,來構(gòu)建索引表的主鍵值,將這些數(shù)據(jù)寫入索引表中。本發(fā)明的有益效果如下:1.實現(xiàn)通用的增量抽取HBase數(shù)據(jù)。對業(yè)務(wù)透明。2.避免全量抽取數(shù)據(jù)時,隨著時間的推移,抽取數(shù)據(jù)的耗時將越來越大,數(shù)據(jù)平臺上冗余的數(shù)據(jù)也將越來越多的問題。以上所述,僅是本發(fā)明的較佳實施例,并非對本發(fā)明作任何形式上的限制,凡是依據(jù)本發(fā)明的技術(shù)實質(zhì)對以上實施例所作的任何簡單修改、等同變化與修飾,均仍屬本發(fā)明技術(shù)方案的保護范圍。當(dāng)前第1頁1 2 3 當(dāng)前第1頁1 2 3 
當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
清河县| 庆城县| 辽阳县| 普宁市| 定边县| 定西市| 武穴市| 育儿| 泗阳县| 永善县| 竹北市| 定结县| 丹凤县| 喜德县| 金溪县| 柳江县| 涞水县| 绵竹市| 漳平市| 华亭县| 宾阳县| 铜鼓县| 吉林市| 庆安县| 永泰县| 临武县| 元谋县| 天津市| 罗田县| 南丰县| 油尖旺区| 石嘴山市| 平远县| 土默特右旗| 本溪市| 隆回县| 什邡市| 寿阳县| 天水市| 九寨沟县| 海南省|