面試題來源:
《大數(shù)據(jù)面試題 V4.0》
大數(shù)據(jù)面試題V3.0,523道題,679頁,46w字
參考答案:
1、寫數(shù)據(jù)流程
1)Client先訪問zookeeper,獲取hbase:meta表位于哪個Region Server。
2)訪問對應(yīng)的Region Server,獲取hbase:meta表,根據(jù)讀請求的namespace:table/rowkey,查詢出目標(biāo)數(shù)據(jù)位于哪個Region Server中的哪個Region中。并將該table的region信息以及meta表的位置信息緩存在客戶端的meta cache,方便下次訪問。
3)與目標(biāo)Region Server進(jìn)行通訊;
4)將數(shù)據(jù)順序?qū)懭耄ㄗ芳樱┑絎AL;
5)將數(shù)據(jù)寫入對應(yīng)的MemStore,數(shù)據(jù)會在MemStore進(jìn)行排序;
6)向客戶端發(fā)送ack;
7)等達(dá)到MemStore的刷寫時機后,將數(shù)據(jù)刷寫到HFile。
2、讀數(shù)據(jù)流程
1)Client先訪問zookeeper,獲取hbase:meta表位于哪個Region Server。
2)訪問對應(yīng)的Region Server,獲取hbase:meta表,根據(jù)讀請求的namespace:table/rowkey,查詢出目標(biāo)數(shù)據(jù)位于哪個Region Server中的哪個Region中。并將該table的region信息以及meta表的位置信息緩存在客戶端的meta cache,方便下次訪問。
3)與目標(biāo)Region Server進(jìn)行通訊;
4)分別在Block Cache(讀緩存),MemStore和Store File(HFile)中查詢目標(biāo)數(shù)據(jù),并將查到的所有數(shù)據(jù)進(jìn)行合并。此處所有數(shù)據(jù)是指同一條數(shù)據(jù)的不同版本(time stamp)或者不同的類型(Put/Delete)。
5)將查詢到的數(shù)據(jù)塊(Block,HFile數(shù)據(jù)存儲單元,默認(rèn)大小為64KB)緩存到Block Cache。文章來源:http://www.zghlxwxcb.cn/news/detail-608524.html
6)將合并后的最終結(jié)果返回給客戶端。文章來源地址http://www.zghlxwxcb.cn/news/detail-608524.html
到了這里,關(guān)于大數(shù)據(jù)面試題:HBase讀寫數(shù)據(jù)流程的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!