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