日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

HBase结构

發(fā)布時(shí)間:2023/12/20 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HBase结构 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?

Pig,可以使用Pig Latin流式編程語言來操作HBase中的數(shù)據(jù) Hive,可以使用類似SQL語言來訪問HBase,最終本質(zhì)是編譯成MapReduce Job來處理HBase表數(shù)據(jù),適合做數(shù)據(jù)統(tǒng)計(jì)。

1.什么是HBase

HBase是一個(gè)在Hadoop上開發(fā)的面向列(同類軟件還有Cassandra和HyperTable)的分布式數(shù)據(jù)庫。 利用HDFS作為其文件存儲(chǔ)系統(tǒng) 利用MapReduce來處理HBase中的海量數(shù)據(jù) 利用Zookeeper作為協(xié)同服務(wù),主要用于實(shí)時(shí)隨機(jī)讀/寫超大規(guī)模數(shù)據(jù)集 HBase并不是關(guān)系型數(shù)據(jù)庫,它不支持SQL,但它能夠做RDBMS不能做的事;

2.HBase的特點(diǎn)

面向列:列的動(dòng)態(tài)、無限擴(kuò)展 —— 內(nèi)容評(píng)論的擴(kuò)展,同類數(shù)據(jù)集中存儲(chǔ)便于壓縮 稀疏表:有數(shù)據(jù)時(shí)這個(gè)單元格才存在 —— 節(jié)省空間

3.HBase表格示意圖

? Row Key: 行鍵,Table的主鍵,Table中的記錄按照Row Key排序 ? Timestamp: 時(shí)間戳,每次數(shù)據(jù)操作對應(yīng)的時(shí)間戳,可以看作是數(shù)據(jù)的version number ? Column Family:列簇,Table在水平方向有一個(gè)或者多個(gè)Column Family組成,一個(gè)Column Family中可以由任意多個(gè)Column組成,即Column Family支持動(dòng)態(tài)擴(kuò)展,無需預(yù)先定義Column的數(shù)量以及類型,所有Column均以二進(jìn)制格式存儲(chǔ),用戶需要自行進(jìn)行類型轉(zhuǎn)換。

4.HBase的組件構(gòu)成

HMaster (HA),負(fù)責(zé)Table和Region的管理工作 1、建表、刪表、查看表格屬性; 2、管理RegionServer負(fù)載均衡,調(diào)整Region分布; 3、Region Split后,負(fù)責(zé)新Region的分配; 4、在RegionServer失效后,負(fù)責(zé)失效節(jié)點(diǎn)上的Regions遷移; RegionServer(x N),主要負(fù)責(zé)響應(yīng)用戶I/O請求,向HDFS文件系統(tǒng)中讀寫數(shù)據(jù)

?

5.HBase中表格的存儲(chǔ)

一張表存儲(chǔ)在[1-N)個(gè)HRegion中,每個(gè)HRegion保存某張表RowKey連續(xù)的一段記錄。

?

建表時(shí)可以預(yù)劃分HRegion——提高并行度,進(jìn)而提升讀寫速度 否則初始表存在單一HRegion中,隨著數(shù)據(jù)增大HRegion會(huì)分裂為多個(gè)HRegion HBase中有兩張?zhí)厥獾腡able,-ROOT-和.META. ? ?.META.:記錄了用戶表的Region信息,.META.可以有多個(gè)regoin ? ?-ROOT-:記錄了.META.表的Region信息,-ROOT-只有一個(gè)region ? ?Zookeeper中記錄了-ROOT-表的location

?

首先 HBase Client端會(huì)連接Zookeeper Qurom 通過 Zookeeper組件Client 能獲知哪個(gè) RegionServer管理-ROOT- Region 。 那么Client就去訪問管理 -ROOT-的HRegionServer ,在META中記錄了 HBase中所有表信息,(你可以使用 ? scan '.META.' 命令列出你創(chuàng)建的所有表的詳細(xì)信息 ),從而獲取Region 分布的信息。一旦 Client獲取了這一行的位置信息,比如這一行屬于哪個(gè) Region,Client 將會(huì)緩存這個(gè)信息并直接訪問 HRegionServer。 久而久之Client 緩存的信息漸漸增多,即使不訪問 .META.表 也能知道去訪問哪個(gè) HRegionServer。

6.HBase讀數(shù)據(jù)

HBase讀取數(shù)據(jù)優(yōu)先讀取HMemcache中的內(nèi)容,如果未取到再去讀取Hstore中的數(shù)據(jù),提高數(shù)據(jù)讀取的性能。

7.HBase寫數(shù)據(jù)

HBase寫入數(shù)據(jù)會(huì)寫到HMemcache和Hlog中,HMemcache建立緩存,Hlog同步Hmemcache和Hstore的事務(wù)日志,發(fā)起Flush Cache時(shí),數(shù)據(jù)持久化到Hstore中,并清空HMemecache。 下圖展示了MapReduce的數(shù)據(jù)處理流程,其中一個(gè)Map-Reduce step的輸出將作為下一個(gè)典型Hadoop job的輸入結(jié)果。

?

在整個(gè)過程中,中間結(jié)果會(huì)借助磁盤傳遞,因此對比計(jì)算,大量的Map-Reduced作業(yè)都受限于IO。然而對于ETL、數(shù)據(jù)整合和清理這樣的用例來說,IO約束并不會(huì)產(chǎn)生很大的影響,因?yàn)檫@些場景對數(shù)據(jù)處理時(shí)間往往不會(huì)有較高的需求。然而,在現(xiàn)實(shí)世界中,同樣存在許多對延時(shí)要求較為苛刻的用例

轉(zhuǎn)載于:https://www.cnblogs.com/wzj4858/p/7918791.html

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的HBase结构的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。