欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

HBase文件索引有什么用

這篇文章將為大家詳細講解有關(guān)HBase文件索引有什么用,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

成都創(chuàng)新互聯(lián)為企業(yè)級客戶提高一站式互聯(lián)網(wǎng)+設(shè)計服務(wù),主要包括網(wǎng)站設(shè)計制作、成都網(wǎng)站設(shè)計、重慶App定制開發(fā)、重慶小程序開發(fā)、宣傳片制作、LOGO設(shè)計等,幫助客戶快速提升營銷能力和企業(yè)形象,創(chuàng)新互聯(lián)各部門都有經(jīng)驗豐富的經(jīng)驗,可以確保每一個作品的質(zhì)量和創(chuàng)作周期,同時每年都有很多新員工加入,為我們帶來大量新的創(chuàng)意。 

HBase總體結(jié)構(gòu)圖

 HBase文件索引有什么用

 

部分術(shù)語簡介

HMaster

負責管理HRegionServer的接入,負責Region的管理分配,負責管理Table的創(chuàng)建于刪除修改等操作。

HRegion

每個Table可以分裂成多個Region,每個Region為Table中的一個行區(qū)間。例如RowKey為0-100的Table,可以分裂成0-50以及51-100這兩個Region。

HRegionServer

每個HRegionServer管理著多個Region,負責對Region的讀寫操作等

HLog

每個HRegionServer都有一個HLog用來記錄所有操作,主要用于數(shù)據(jù)損壞時修復數(shù)據(jù)。物理上是Hadoop的Sequence File

Store

每個HRegion下管理著多個Store,每個Store對應Table中的一個Family進行數(shù)據(jù)管理

StoreFile

Family的持久化數(shù)據(jù)類

MemStore

每個Store中都有一個MemStore,用來緩存對Family的操作,當MemStore緩存到一點大小之后,將會轉(zhuǎn)換成StoreFile Flush到HDFS中

HFile

StoreFile只是HFile的輕量級封裝,HDFS中保存的Table數(shù)據(jù)文件都是HFile格式

 

索引的總體結(jié)構(gòu)

在HBase中,從整個大框架上來看,索引的分布分為以下幾層。

HBase文件索引有什么用 

A、在Zookeeper中,根據(jù)HMaster的啟動,保存著分配了-ROOT- Table的RegionServer的地址。

B、在-ROOT- Table中,保存著.META Table split成多個region后所分布在的RegionServers的信息。

C、在.META中,保存著各個Table的regions所分布的RegionServers地址。

D、-ROOT-只存在一個Region,而.META是可以split成多個的。

-ROOT- 與 META的表結(jié)構(gòu)是一樣的,如下

Rowkey

info



Regioninfo

server

serverstartcode


TableName

StartKey

TimeStamp

Startkey

Endkey

family list

address

加載當前分片的啟動時間

-ROOT-示例:

假設(shè).META分裂成了兩個Region,分布在了兩個RegionServer上

Rowkey

Info




Regioninfo

Server

serverstarcode

.META Table1

pk0

12345278


RegionServer1


.META Table1

pk1000

123451278


RegionServer2


.META Table2

pk0

123431278


RegionServer1


.META Table2

pk1000

123457278


RegionServer2


 HBase文件索引有什么用

.META的示例:

Rowkey

Info




Regioninfo

Server

serverstarcode

Table1

pk0

12345278


RegionServer1


Table1

pk1000

123451278


RegionServer2


Table1

pk2000

12345878


RegionServer3


……

……

……

……

Table2

pk0

12345278


RegionServer1


Table2

pk1000

12345478


RegionServer2


Table2

pk2000

12345778


RegionServer3


 HBase文件索引有什么用

RegionServer的定位過程

當Client要對一個Table中的數(shù)據(jù)進行put、get、delete操作時,提供了TableName以及RowKey時,Client從Zookeeper中獲取到-ROOT-的RegionServer信息,然后從-ROOT-中根據(jù)RowKey獲取到.META的ReginoServer,從而再定位到RowKey所在的RegionServer中。由于Client在交互過程中會緩存-ROOT-、.META、Region等位置信息,在最優(yōu)情況下只需要查詢一次位置,在最壞情況下是需要6次[ 需要從Table Region遞歸回去查詢 ]。

HFile的數(shù)據(jù)存儲結(jié)構(gòu):

 HBase文件索引有什么用

如上圖,HFile的文件長度為變長,其中的File Info以及Trailer是定長,Trailer中有指向File Info\Data Index\Meta Index的起始點。Index數(shù)據(jù)塊記錄著Data\Meta塊的起始點。在Data數(shù)據(jù)塊中,Magic是用來辨別數(shù)據(jù)是否損壞的,每個Data塊中保存著多個KeyValue信息。

 HBase文件索引有什么用

上圖為KeyValue的數(shù)據(jù)結(jié)構(gòu)

 HBase文件索引有什么用

上圖也為HFile的數(shù)據(jù)結(jié)構(gòu)

整個的region文件路徑就是如下形式:

/<hbase-root-dir>/<tablename>/<encoded-regionname>/<column-family>/<filename>

每個column-family下的一個個HFile數(shù)據(jù)文件,文件的名字是基于Java內(nèi)建的隨機數(shù)生成器產(chǎn)生的任意數(shù)字。代碼會保證不會產(chǎn)生碰撞,比如當發(fā)現(xiàn)新生成的數(shù)字已經(jīng)存在時,它會繼續(xù)尋找一個未被使用的數(shù)字。

Region的操作

當定位到RowKey所在的RegionServer之后,就能根據(jù)RegionName來獲取到相對應的Region,RegionName來自.META中保存的RowKey。

Get:

1、HRegion.get接口會先對Family做檢測,保證Get中的Family與Table中的保持一致。

2、根據(jù)Family的信息,找出對應的Store,并獲取到Store中的StoreScanner實例,并將其添加到一個scanners隊列中。

3、在StoreScanner中,又有MemstoreScanner和HFileScanner兩個實例,分別用來遍歷MemStore與HFile中的keyValue值的。

4、因為存在多個HFile,因此會對HFileScanner會做一次過濾選擇,通過HFile的DataIndex將position指向StarRow,DataIndex中是保存有當前DataBlock的firstKey信息的,如果KeyValue不在當前HFile中,將關(guān)閉HFileScanner的查找。

5、需要注意的是,在RegionServer啟動之后,HFile的DataIndex是保存在內(nèi)存中的。

6、當StoreScanner查詢相應的keyValue時,先利用MemstoreScanner從MemStore中查找,如果沒有相應數(shù)據(jù),再利用HFileScanner從HFile的DataBlock中遍歷,DataIndex能快速定位Block所在的位置。

7、由于HFile已經(jīng)被持久化到HDFS中,對HFile的每次IO讀取,都只是讀取一個Data數(shù)據(jù)塊的大小,Data的位置可以根據(jù)HFile的DataIndex信息來查詢。

8、如果有配置使用Bloom Filters,將能快速確認一個RowKey或者value是否在一個HFile中。

關(guān)于“HBase文件索引有什么用”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

網(wǎng)站標題:HBase文件索引有什么用
轉(zhuǎn)載源于:http://aaarwkj.com/article10/peeedo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、網(wǎng)站制作、面包屑導航建站公司、全網(wǎng)營銷推廣、網(wǎng)站內(nèi)鏈

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機網(wǎng)站建設(shè)
人妻一区二区三区久久| 欧洲精品久久久久久| 欧美精品一区二区三区色| 未满18十八禁止观看| 精品国产91久久粉嫩| 欧美日韩国产综合精品亚洲| 欧美香蕉高清视频免费| 九色综合一区二区三区| 99热在线播放精品观看| 搡老女人老91妇女老熟女| 国产精品自产在线观看一 | 在线国产精品中文字幕| 美女丝袜美腿魅惑男人| 中文字幕日韩欧美第一页| 国产视频专区一区二区| 国产精品深夜在线观看| 亚洲国产精品视频中文字幕| 欧美日韩在线国产一区| 蜜桃视频在线观看91| 免费成人激情在线电影| 长腿丝袜美女亚洲一区二区| 亚洲日本va午夜中文字幕一区| 国产伦精品一区二区三区免费视频 | 国产亚洲精品视频免费| 亚洲精品在线观看av| 久久亚洲国产成人精品性色| 日韩一区二区三区不卡| 禁区正片免费看完整国产| 蜜臀人妻四季av一区二区不卡| 一级片高清在线观看国产| 欧美特黄在线免费观看| 91精品国产综合久久麻豆| 日本理论午夜三级在线观看| 亚洲香蕉在线视频免费| 国产三级传媒视频在线观看| 亚洲国产精品福利在线| 午夜福利主播一区二区| 给我免费在线观看视频| 亚洲第一青青草原在线| 日本道欧美一区二区aaaa| 91九色国产在线播放|