hbase面試題Miles_第1頁(yè)
hbase面試題Miles_第2頁(yè)
hbase面試題Miles_第3頁(yè)
hbase面試題Miles_第4頁(yè)
hbase面試題Miles_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、16.Hbase 的rowkey 怎么創(chuàng)建比較好?列族怎么創(chuàng)建比較好?  盡量將需要查詢的維度或者信息存儲(chǔ)在行鍵中,以為它篩選數(shù)據(jù)的效率最高   行鍵是唯一的  高表與寬表Hbase 內(nèi)部是什么機(jī)制?client:1、包含訪問(wèn) hbase 的接口, client 維護(hù)著一些 cache(緩存) 來(lái)加快對(duì) hbase 的訪問(wèn),比如 region 的 位置信息。 (經(jīng)常使用的表的位置信息)   zookeeper:1、保證任何時(shí)候,集群中只有一個(gè) master2、存貯所有 Region 的尋址入口-root 表在哪臺(tái)服務(wù)器上。

2、-root-這張表的位置信息3、實(shí)時(shí)監(jiān)控 RegionServer 的狀態(tài),將 RegionServer 的上線和下線信息實(shí)時(shí)通知給 Master4、存儲(chǔ) Hbase 的 schema(表的描述信息),包括有哪些 table,每個(gè) table 有哪些 column family  master職責(zé):1、為 RegionServer 分配 region2、負(fù)責(zé) RegionServer 的負(fù)載均衡3、發(fā)現(xiàn)失效的 RegionServer 并重新分配其上的 region4、 HDFS 上的垃圾文件( hbase)回收5、處理 schema 更新請(qǐng)求(增加,刪除,修改)( JDBC:cru

3、d)RegionServer 職責(zé)1、 RegionServer 維護(hù) Master 分配給它的 region,處理對(duì)這些 region 的 IO 請(qǐng)求2、 RegionServer 負(fù)責(zé)切分在運(yùn)行過(guò)程中變得過(guò)大的 region hbase 寫(xiě)數(shù)據(jù)的原理是什么?1、 客戶端向hregionServer請(qǐng)求寫(xiě)數(shù)據(jù) 2、hregionServer將數(shù)據(jù)先寫(xiě)入hlog中。 3、hregionServer將數(shù)據(jù)后寫(xiě)入memstore中。 4、當(dāng)內(nèi)存中的數(shù)據(jù)達(dá)到閾值64M的時(shí)候,將數(shù)據(jù)Flush到硬盤(pán)中,并同時(shí)刪除內(nèi)存和hlog中的歷史數(shù)據(jù)。 5、將硬盤(pán)

4、中數(shù)據(jù)通過(guò)HFile來(lái)序列化,再將數(shù)據(jù)傳輸?shù)紿DFS進(jìn)行存儲(chǔ)。并對(duì)Hlog做一個(gè)標(biāo)記。 6、當(dāng)HDFS中的數(shù)據(jù)塊達(dá)到4塊的時(shí)候,Hmaster將數(shù)據(jù)加載到本地進(jìn)行一個(gè)合并(如果合并后數(shù)據(jù)的大小小于256M則當(dāng)數(shù)據(jù)塊再次達(dá)到4塊時(shí)(包含小于256M的數(shù)據(jù)塊)將最新4塊數(shù)據(jù)塊再次進(jìn)行合并,此時(shí)數(shù)據(jù)塊大于256M)。 7、若數(shù)據(jù)塊大于256M,則將數(shù)據(jù)重新拆分,將分配后的region重新分配給不同的hregionServer進(jìn)行管理。 8、當(dāng)hregionServer宕機(jī)后,將hregionServer上的hlog重新分配給不同的hregionServer進(jìn)行加載(修改

5、.META文件中關(guān)于數(shù)據(jù)所在server的信息)。注意:hlog會(huì)同步到HDFS中。讀數(shù)據(jù)的流程(參考下圖):1、通過(guò)zk來(lái)獲取ROOT表在那個(gè)節(jié)點(diǎn)上,然后進(jìn)一步通過(guò)-ROOT表和-META表來(lái)獲取最終的位置信息。 2、數(shù)據(jù)從內(nèi)存和硬盤(pán)合并后返回到客戶端。 HBase過(guò)濾器實(shí)現(xiàn)原則采用bloomfilter進(jìn)行過(guò)濾,Bloom Filter是一種空間效率很高的隨機(jī)數(shù)據(jù)結(jié)構(gòu) (1)BLOOMFILTER在HBase的作用HBase利用 BLOOMFILTER來(lái)提供隨機(jī)讀(GET)的性能,對(duì)于順序讀(Scan),設(shè)置BLOOMFILTER是沒(méi)有作用的。(2)BLOOM

6、FILTER在HBase的開(kāi)銷(xiāo)BLOOMFILTER是一個(gè)列族級(jí)別的配置,如果你表中設(shè)置了BLOOMFILTER,那么HBase在生成StoreFile時(shí)候包含一份BLOOMFILTER的結(jié)構(gòu)數(shù)據(jù),稱為MetaBlock;開(kāi)啟BLOOMFILTER會(huì)有一定的存儲(chǔ)以及內(nèi)存的開(kāi)銷(xiāo)。(3)BLOOMFILTER如何提供隨機(jī)讀(GET)的性能對(duì)于某個(gè)region的隨機(jī)讀,HBase會(huì)遍歷讀memstore及storefile(按照一定的順序),將結(jié)果合并返回給客戶端。如果你設(shè)置了bloomfilter,那么在遍歷讀storefile時(shí),就可以利用bloomfilter,忽略某些storefile。&#

7、160;(4)Region的StoreFile數(shù)目越多,BLOOMFILTER效果越好(5)Region下的storefile數(shù)目越少,HBase讀性能越好Hbase 在進(jìn)行模型設(shè)計(jì)時(shí)重點(diǎn)在什么地方?一張表中定義多少個(gè)Column Family最合適?為什么?具體看表的數(shù)據(jù),一般來(lái)說(shuō)劃分標(biāo)準(zhǔn)是根據(jù)數(shù)據(jù)訪問(wèn)頻度,如一張表里有些列訪問(wèn)相對(duì)頻繁,而另一些列訪問(wèn)很少,這時(shí)可以把這張表劃分成兩個(gè)列族,分開(kāi)存儲(chǔ),提高訪問(wèn)效率如何提高HBase客戶端的讀寫(xiě)性能?請(qǐng)舉例說(shuō)明。開(kāi)啟bloomfilter過(guò)濾器,開(kāi)啟bloomfilter比沒(méi)開(kāi)啟要快3、4倍Hbase對(duì)于內(nèi)存有特別的嗜好,在硬件允許的情況下配足夠

8、多的內(nèi)存給它通過(guò)修改hbase-env.sh中的export HBASE_HEAPSIZE=3000 #這里默認(rèn)為1000m增大RPC數(shù)量通過(guò)修改hbase-site.xml中的hbase.regionserver.handler.count屬性,可以適當(dāng)?shù)姆糯?。默認(rèn)值為10有點(diǎn)?。?)       修改java虛擬機(jī)屬性替換掉默認(rèn)的垃圾回收器,因?yàn)槟J(rèn)的垃圾回收器在多線程環(huán)境下會(huì)有更多的wait等待   HBase的rowkey的設(shè)計(jì)原則rowkey長(zhǎng)度原則rowkey是一個(gè)二進(jìn)制碼流,可以是任意字符串

9、,最大長(zhǎng)度 64kb ,實(shí)際應(yīng)用中一般為10-100bytes,以 byte 形式保存,一般設(shè)計(jì)成定長(zhǎng)。建議越短越好,不要超過(guò)16個(gè)字節(jié),原因如下rowkey散列原則建議將rowkey的高位作為散列字段,由程序隨機(jī)生成,低位放時(shí)間字段rowkey唯一原則必須在設(shè)計(jì)上保證其唯一性,Hbase 的 rowkey 怎么創(chuàng)建比較好?列族怎么創(chuàng)建比較好?RowKey設(shè)計(jì):應(yīng)該具備以下幾個(gè)屬性散列性:散列性能夠保證相同相似的rowkey聚合,相異的rowkey分散,有利于查詢簡(jiǎn)短性:rowkey作為key的一部分存儲(chǔ)在HFile中,如果為了可讀性將rowKey設(shè)計(jì)得

10、過(guò)長(zhǎng),那么將會(huì)增加存儲(chǔ)壓力唯一性:rowKey必須具備明顯的區(qū)別性建議將HBase列族的數(shù)量設(shè)置的越少越好。對(duì)于兩個(gè)或兩個(gè)以上的列族HBase并不能處理的很好。按照業(yè)務(wù)特點(diǎn),把數(shù)據(jù)歸類,不同類別的放在不同列族HBASE 內(nèi)部機(jī)制Hbase是一個(gè)能適應(yīng)聯(lián)機(jī)業(yè)務(wù)的數(shù)據(jù)庫(kù)系統(tǒng)物理存儲(chǔ):hbase的持久化數(shù)據(jù)是存放在hdfs上存儲(chǔ)管理:一個(gè)表是劃分為很多region的,這些region分布式地存放在很多regionserver上Region內(nèi)部還可以劃分為store,store內(nèi)部有memstore和storefile版本管理:hbase中的數(shù)據(jù)更新本質(zhì)上是不斷追加新的版本,通過(guò)compact操作來(lái)做

11、版本間的文件合并Region的split集群管理:    Zookeeper作用在于:1、hbase regionserver 向zookeeper注冊(cè),提供hbase regionserver狀態(tài)信息(是否在線)。2、hmaster啟動(dòng)時(shí)候會(huì)將hbase系統(tǒng)表-ROOT- 加載到 zookeeper cluster,通過(guò)zookeeper cluster可以獲取當(dāng)前系統(tǒng)表.META.的存儲(chǔ)所對(duì)應(yīng)regionserver信息。+ HMaster的作用:· 為Region server分配region· 負(fù)責(zé)Region se

12、rver的負(fù)載均衡· 發(fā)現(xiàn)失效的Region server并重新分配其上的region· HDFS上的垃圾文件回收· 處理schema更新請(qǐng)求 HRegionServer作用:· 維護(hù)master分配給他的region,處理對(duì)這些region的io請(qǐng)求· 負(fù)責(zé)切分正在運(yùn)行過(guò)程中變的過(guò)大的region HBASE過(guò)濾器實(shí)現(xiàn)原則HBase提供了一個(gè)API,你可以用來(lái)實(shí)現(xiàn)定制過(guò)濾器。多個(gè)過(guò)濾器也可以捆綁在一起使用。可以在讀過(guò)程最開(kāi)始的地方,基于行健進(jìn)行過(guò)濾處理。此后,也可以基于HFile讀出的KeyValues進(jìn)行過(guò)濾處理。過(guò)濾器

13、必須實(shí)現(xiàn)HBase Jar包中的Filter接口,或者繼承擴(kuò)展一個(gè)實(shí)現(xiàn)了該接口的抽象類。我們推薦繼承擴(kuò)展FilterBase抽象類,這樣你不需要寫(xiě)樣板代碼。繼承擴(kuò)展其他諸如CompareFilter類也是一個(gè)選擇,同樣可以正常工作。當(dāng)讀取一行時(shí)該接口有下面的方法在多個(gè)地方可以調(diào)過(guò)濾器有什么用途:增強(qiáng)hbase查詢數(shù)據(jù)的功能減少服務(wù)端返回給客戶端的數(shù)據(jù)量描述 HBase, zookeeper 搭建過(guò)程 解壓縮 進(jìn)入 zookeeper-3.4.9 目錄l 拷貝 conf/zoo_sample.cfgcp conf/zoo_sample.cfg conf/zoo.cfgl 編輯配置文件 conf/

14、zoo.cfg# The number of milliseconds of each ticktickTime=2000# The number of ticks that the initial# synchronization phase can takeinitLimit=10# The number of ticks that can pass between# sending a request and getting an acknowledgementsyncLimit=5# the directory where the snapshot is stored.# do not

15、 use /tmp for storage, /tmp here is just# example sakes.dataDir=/home/bigdata/software/zookeeper-3.4.9/zookeeper_data# the port at which the clients will connectclientPort=2181# The number of snapshots to retain in dataDirautopurge.snapRetainCount=5# Purge task interval in hoursautopurge.purgeInterv

16、al=1l 啟動(dòng) zookeeperbin/zkServer.sh start在 master 機(jī)器上解壓縮 hbase-1.2.4-bin.tar.gzl 進(jìn)入 hbase-1.2.4 目錄l 編輯 conf/hbase-env.sh 文件編輯 conf/hbase-site.xml 文件編輯 conf/regionservers 文件slave01slave02l 把 master 機(jī)器上的 hbase-1.2.4 目錄拷貝到 slave01 和 slave02 上scp -r /home/bigdata/software/hbase-1.2.4 slave01:/home/bigdata

17、/software/scp -r /home/bigdata/software/hbase-1.2.4 slave02:/home/bigdata/software/l 啟動(dòng) HDFS/home/bigdata/software/hadoop-2.7.3/sbin/start-dfs.shl 在 master 上啟動(dòng) HBasebin/start-hbase.shl 查看是否啟動(dòng)成功http:/master:16010/master-status客戶端讀取信息流程(1)client要讀取信息,先查詢下client 端的cache中是否存在數(shù)據(jù),如果存在,剛直接返回?cái)?shù)據(jù)。如果不存在,則進(jìn)入到zo

18、okeeper,查找到里面的相應(yīng)數(shù)據(jù)存在的Root表中的地址。 (2)BlockCache;設(shè)計(jì)用于讀入內(nèi)存頻繁訪問(wèn)的數(shù)據(jù),每個(gè)列族都有 (3)通過(guò)數(shù)據(jù)存在ROOT表中地址找到.META,最終找到HRegion。找到HRegion后,它會(huì)先訪問(wèn)MemStore中是否存在數(shù)據(jù),如果存在,則直接讀取。如果沒(méi)有,就再到HFile中查找數(shù)據(jù),并將數(shù)據(jù)放到MemStore (4)最后數(shù)據(jù)返回到客戶端顯示。HBASE寫(xiě)數(shù)據(jù)原理1由于Hbase中默認(rèn)的刷寫(xiě)方式是隱式刷寫(xiě),所以你在put()數(shù)據(jù)時(shí),它會(huì)自動(dòng)保存到HRegion上,但當(dāng)你批量處理數(shù)據(jù)時(shí),它會(huì)將數(shù)據(jù)先保存到clien

19、t端的cache中。當(dāng)你關(guān)閉隱式刷寫(xiě)時(shí),你put()的數(shù)據(jù)則會(huì)保存到client cache中,直到你調(diào)用刷寫(xiě)命令時(shí),才會(huì)保存到HRegion中。 2在HRegion部分的存儲(chǔ):要寫(xiě)入的數(shù)據(jù)會(huì)先寫(xiě)到HMemcache 和Hlog 中,HMemcache 建立緩存,Hlog 同步Hmemcache和Hstore 的事務(wù)日志,發(fā)起Flush Cache 時(shí),數(shù)據(jù)持久化到Hstore 中,并清空HMemecache。 3hbase正常寫(xiě)入數(shù)據(jù)時(shí),會(huì)寫(xiě)入兩個(gè)地方:預(yù)寫(xiě)式日志(WAL_or_Hlog)和Memstore(內(nèi)存里的寫(xiě)入緩沖區(qū)), 首先寫(xiě)入cache,并記入WAL,然后才

20、寫(xiě)入MemStore,(都寫(xiě)入才認(rèn)為動(dòng)作完成)保證數(shù)據(jù)的持久化,Hbase中的數(shù)據(jù)永久寫(xiě)入之前都在MemStore,當(dāng)MemStore填滿后,其中的數(shù)據(jù)就會(huì)寫(xiě)入硬盤(pán)生成HFile, 4HBase寫(xiě)數(shù)據(jù),如果在寫(xiě)入HStore是發(fā)生系統(tǒng)異常,就可以從HLog中恢復(fù)數(shù)據(jù),重新寫(xiě) HStore中。   .HBase宕機(jī)如何處理答:宕機(jī)分為HMaster宕機(jī)和HRegionServer宕機(jī),如果是HRegionServer宕機(jī),HMaster會(huì)將其所管理的region重新分布到其他活動(dòng)的RegionServer上,由于數(shù)據(jù)和日志都持久在HDFS中,該操作不會(huì)導(dǎo)致

21、數(shù)據(jù)丟失。所以數(shù)據(jù)的一致性和安全性是有保障的。如果是HMaster宕機(jī),HMaster沒(méi)有單點(diǎn)問(wèn)題,HBase中可以啟動(dòng)多個(gè)HMaster,通過(guò)Zookeeper的Master Election機(jī)制保證總有一個(gè)Master運(yùn)行。即ZooKeeper會(huì)保證總會(huì)有一個(gè)HMaster在對(duì)外提供服務(wù)。 hbase 怎么預(yù)分區(qū)?建表時(shí)可以通過(guò)shell命令預(yù)分區(qū),也可以在代碼中建表做預(yù)分區(qū)hbase 怎么給 web 前臺(tái)提供接口來(lái)訪問(wèn)(HTABLE可以提供對(duì) HBase的訪問(wèn),但是怎么查詢同一條記錄的多個(gè)版本數(shù)據(jù))?答:使用HTable來(lái)提供對(duì)HBase的訪問(wèn),可以使用時(shí)間戳來(lái)記錄一條數(shù)據(jù)的多

22、個(gè)版本。htable API 有沒(méi)有線程安全問(wèn)題,在程序中是單例還是多例?M4 多例:當(dāng)多線程去訪問(wèn)同一個(gè)表的時(shí)候會(huì)有。HBase 集群安裝注意事項(xiàng)(2)主要hbase-env.sh 配置文件,HBASE_MANAGES_ZK=false,設(shè)置外部HBase使用外部的ZK,默認(rèn)情況下是true。Hbase中的metastore用來(lái)做什么的?Hbase的metastore是用來(lái)保存數(shù)據(jù)的,其中保存數(shù)據(jù)的方式有有三種第一種與第二種是本地儲(chǔ)存,第三種是遠(yuǎn)程儲(chǔ)存這一種企業(yè)用的比較多4、HBase在進(jìn)行模型設(shè)計(jì)時(shí)重點(diǎn)在什么地方?一張表中定義多少個(gè)Column Family最合適?為什么?一般來(lái)

23、說(shuō)劃分標(biāo)準(zhǔn)是根據(jù)數(shù)據(jù)訪問(wèn)頻度,如一張表里有些列訪問(wèn)相對(duì)頻繁,而另一些列訪問(wèn)很少,這時(shí)可以把這張表劃分成兩個(gè)列族,分開(kāi)存儲(chǔ),提高訪問(wèn)效率5、如何提高HBase客戶端的讀寫(xiě)性能?請(qǐng)舉例說(shuō)明。開(kāi)啟bloomfilter過(guò)濾器,開(kāi)啟bloomfilter比沒(méi)開(kāi)啟要快3、4倍Hbase對(duì)于內(nèi)存有特別的嗜好,在硬件允許的情況下配足夠多的內(nèi)存給它通過(guò)修改hbase-env.sh中的export HBASE_HEAPSIZE=3000 #這里默認(rèn)為1000m增大RPC數(shù)量通過(guò)修改hbase-site.xml中的hbase.regionserver.handler.count屬性,可以適當(dāng)?shù)姆糯?。默認(rèn)值為10有

24、點(diǎn)小HBase 接收數(shù)據(jù),如果短時(shí)間導(dǎo)入數(shù)量過(guò)多的話就會(huì)被鎖,該怎么辦? 集群數(shù) 16臺(tái) ,高可用性的環(huán)境。參考:通過(guò)調(diào)用 HTable.setAutoFlush(false)方法可以將 HTable 寫(xiě)客戶端的自動(dòng) flush關(guān)閉,這樣可以批量寫(xiě)入數(shù)據(jù)到 HBase,而不是有一條 put 就執(zhí)行一次更新,只有當(dāng)put 填滿客戶端寫(xiě)緩存時(shí),才實(shí)際向 HBase 服務(wù)端發(fā)起寫(xiě)請(qǐng)求。默認(rèn)情況下 auto flush是開(kāi)啟的421.怎么知道hbase表里哪些做索引?哪些沒(méi)有做索引?提示:有且僅有一個(gè):rowkey,所以hbase得快速查找建立在rowkey的基礎(chǔ)的,而不能像一般的關(guān)系型數(shù)據(jù)庫(kù)那樣建立

25、多個(gè)索引來(lái)達(dá)到多條件查找的效果。、簡(jiǎn)述 HBase 的瓶頸提示:HBase 的瓶頸就是硬盤(pán)傳輸速度。Hbase 的所有操作都是追加插入操作。Hbase 是一種日志集數(shù)據(jù)庫(kù)。它的存儲(chǔ)方式,像是日志文件一樣。它是批量大量的往硬盤(pán)中寫(xiě),通常都是以文件形式的讀寫(xiě)。這個(gè)讀寫(xiě)速度,就取決于硬盤(pán)與機(jī)器之間的傳輸有多快。16.Hbase 的rowkey 怎么創(chuàng)建比較好?列族怎么創(chuàng)建比較好?  盡量將需要查詢的維度或者信息存儲(chǔ)在行鍵中,以為它篩選數(shù)據(jù)的效率最高   行鍵是唯一的  高表與寬表Hbase 內(nèi)部是什么機(jī)制?client:1、包含訪問(wèn) hbase 的接口, cl

26、ient 維護(hù)著一些 cache(緩存) 來(lái)加快對(duì) hbase 的訪問(wèn),比如 region 的 位置信息。 (經(jīng)常使用的表的位置信息)   zookeeper:1、保證任何時(shí)候,集群中只有一個(gè) master2、存貯所有 Region 的尋址入口-root 表在哪臺(tái)服務(wù)器上。 -root-這張表的位置信息3、實(shí)時(shí)監(jiān)控 RegionServer 的狀態(tài),將 RegionServer 的上線和下線信息實(shí)時(shí)通知給 Master4、存儲(chǔ) Hbase 的 schema(表的描述信息),包括有哪些 table,每個(gè) table 有哪些 column family  m

27、aster職責(zé):1、為 RegionServer 分配 region2、負(fù)責(zé) RegionServer 的負(fù)載均衡3、發(fā)現(xiàn)失效的 RegionServer 并重新分配其上的 region4、 HDFS 上的垃圾文件( hbase)回收5、處理 schema 更新請(qǐng)求(增加,刪除,修改)( JDBC:crud)RegionServer 職責(zé)1、 RegionServer 維護(hù) Master 分配給它的 region,處理對(duì)這些 region 的 IO 請(qǐng)求2、 RegionServer 負(fù)責(zé)切分在運(yùn)行過(guò)程中變得過(guò)大的 region hbase 寫(xiě)數(shù)據(jù)的原理是什么?2、 客戶端向hreg

28、ionServer請(qǐng)求寫(xiě)數(shù)據(jù) 2、hregionServer將數(shù)據(jù)先寫(xiě)入hlog中。 3、hregionServer將數(shù)據(jù)后寫(xiě)入memstore中。 4、當(dāng)內(nèi)存中的數(shù)據(jù)達(dá)到閾值64M的時(shí)候,將數(shù)據(jù)Flush到硬盤(pán)中,并同時(shí)刪除內(nèi)存和hlog中的歷史數(shù)據(jù)。 5、將硬盤(pán)中數(shù)據(jù)通過(guò)HFile來(lái)序列化,再將數(shù)據(jù)傳輸?shù)紿DFS進(jìn)行存儲(chǔ)。并對(duì)Hlog做一個(gè)標(biāo)記。 6、當(dāng)HDFS中的數(shù)據(jù)塊達(dá)到4塊的時(shí)候,Hmaster將數(shù)據(jù)加載到本地進(jìn)行一個(gè)合并(如果合并后數(shù)據(jù)的大小小于256M則當(dāng)數(shù)據(jù)塊再次達(dá)到4塊時(shí)(包含小于256M的數(shù)據(jù)塊)將最新4塊數(shù)據(jù)塊再次進(jìn)行合并

29、,此時(shí)數(shù)據(jù)塊大于256M)。 7、若數(shù)據(jù)塊大于256M,則將數(shù)據(jù)重新拆分,將分配后的region重新分配給不同的hregionServer進(jìn)行管理。 8、當(dāng)hregionServer宕機(jī)后,將hregionServer上的hlog重新分配給不同的hregionServer進(jìn)行加載(修改.META文件中關(guān)于數(shù)據(jù)所在server的信息)。注意:hlog會(huì)同步到HDFS中。讀數(shù)據(jù)的流程(參考下圖):1、通過(guò)zk來(lái)獲取ROOT表在那個(gè)節(jié)點(diǎn)上,然后進(jìn)一步通過(guò)-ROOT表和-META表來(lái)獲取最終的位置信息。 2、數(shù)據(jù)從內(nèi)存和硬盤(pán)合并后返回到客戶端。 HBase過(guò)濾器實(shí)現(xiàn)原則采用bloomfilter進(jìn)行過(guò)濾,Bloom Filter是一種空間效率很高的隨機(jī)數(shù)據(jù)結(jié)構(gòu) (1)BLOOMFILTER在HBase的作用HBase利用 BLOOMFILTER來(lái)提供隨機(jī)讀(GET)的性能,對(duì)于順序讀(Scan),設(shè)置BLOOMFILTER是沒(méi)有作用的。(2)BLOOMFILTER在HBase的開(kāi)銷(xiāo)BLOOMFILTER是一個(gè)列族級(jí)別的配置,如果你表中設(shè)置了BLOOMFILTER,那么HBase在生成Sto

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論