1、向 zookeeper 發(fā)起請求,獲得 META 所在的 region,再根據(jù) table、namespace、rowkey 信息去 META 表中找到目標(biāo)數(shù)據(jù)對(duì)應(yīng)的 Region 信息以及 Regionserver(ROOT 表從 0.96 版本開始已經(jīng)被淘汰)
2、把數(shù)據(jù)分別寫到 HLog 和 MemStore 上各一份
* MemStore 達(dá)到一個(gè)閾值后則會(huì)把數(shù)據(jù)刷成一個(gè) StoreFile 文件落到磁盤,同時(shí)將內(nèi)存中的數(shù)據(jù)刪除,并刪除 Hlog 中的歷史數(shù)據(jù)。在 Hlog 中做標(biāo)記點(diǎn),若 MemStore 中的數(shù)據(jù)有丟失,則可以從 HLog 上恢復(fù);
* 當(dāng)多個(gè) StoreFile 文件達(dá)到一定的大小后,會(huì)觸發(fā) Compact 合并操作,合并為一個(gè) StoreFile,這里同時(shí)進(jìn)行已標(biāo)記刪除數(shù)據(jù)的版本合并和實(shí)際數(shù)據(jù)的刪除。
* 當(dāng) Compact 后,逐步形成越來越大的 StoreFile 后,Region 也會(huì)達(dá)到 Split 的閾值,會(huì)觸發(fā) Split 操作,把一個(gè)大的 region 分割成兩個(gè) region(細(xì)粒度來看其實(shí)也是 StoreFile 的分割)。
更多關(guān)于“大數(shù)據(jù)培訓(xùn)”的問題,歡迎咨詢千鋒教育在線名師。千鋒教育多年辦學(xué),課程大綱緊跟企業(yè)需求,更科學(xué)更嚴(yán)謹(jǐn),每年培養(yǎng)泛IT人才近2萬人。不論你是零基礎(chǔ)還是想提升,都可以找到適合的班型,千鋒教育隨時(shí)歡迎你來試聽。