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