2021年大数据HBase(十三):HBase读取和存储数据的流程
全網(wǎng)最詳細的大數(shù)據(jù)HBase文章系列,強烈建議收藏加關(guān)注!?
新文章都已經(jīng)列出歷史文章目錄,幫助大家回顧前面的知識重點。
目錄
系列歷史文章
HBase讀取和存儲數(shù)據(jù)的流程
一、HBase讀取數(shù)據(jù)的流程
二、HBase存儲數(shù)據(jù)的流程
客戶端的同步流程:?
異步服務(wù)器端執(zhí)行過程:
系列歷史文章
2021年大數(shù)據(jù)HBase(十七):HBase的360度全面調(diào)優(yōu)
2021年大數(shù)據(jù)HBase(十六):HBase的協(xié)處理器(Coprocessor)
2021年大數(shù)據(jù)HBase(十五):HBase的Bulk Load批量加載操作
2021年大數(shù)據(jù)HBase(十四):HBase的原理及其相關(guān)的工作機制
2021年大數(shù)據(jù)HBase(十三):HBase讀取和存儲數(shù)據(jù)的流程
2021年大數(shù)據(jù)HBase(十二):Apache Phoenix 二級索引
2021年大數(shù)據(jù)HBase(十一):Apache Phoenix的視圖操作
2021年大數(shù)據(jù)HBase(十):Apache Phoenix的基本入門操作
2021年大數(shù)據(jù)HBase(九):Apache Phoenix的安裝
2021年大數(shù)據(jù)HBase(八):Apache Phoenix的基本介紹
2021年大數(shù)據(jù)HBase(七):Hbase的架構(gòu)!【建議收藏】
2021年大數(shù)據(jù)HBase(六):HBase的高可用!【建議收藏】
2021年大數(shù)據(jù)HBase(五):HBase的相關(guān)操作-JavaAPI方式!【建議收藏】
2021年大數(shù)據(jù)HBase(四):HBase的相關(guān)操作-客戶端命令式!【建議收藏】
2021年大數(shù)據(jù)HBase(三):HBase數(shù)據(jù)模型
2021年大數(shù)據(jù)HBase(二):HBase集群安裝操作
2021年大數(shù)據(jù)HBase(一):HBase基本簡介
HBase讀取和存儲數(shù)據(jù)的流程
一、HBase讀取數(shù)據(jù)的流程
1、由客戶端發(fā)起讀取數(shù)據(jù)的請求, 首先先連接 zookeeper , 從zookeeper獲取hbase:meta表被哪個regionServer所管理meta表中主要記錄了 hbase中各個表有那些region,以及每個region被哪個regionServer所管理hbase中非常特殊的元數(shù)據(jù)存儲表, 此表只會有一個region
2、連接meta對應(yīng)的regionServer, 從meta中獲取要查詢數(shù)據(jù)的在那些region中, 并將其對應(yīng)regionServer地址返回給客戶端
3、開始并行的連接這些regionServer, 從這些regionServer中獲取數(shù)據(jù),先從 memStore ?--> blockCache ---> storeFile ?---> 大的Hfile
4、各個regionserver將讀取到數(shù)據(jù)返回給client , client根據(jù)需要過濾出需要的數(shù)據(jù),?最后展示給調(diào)用者
?
二、HBase存儲數(shù)據(jù)的流程
客戶端的同步流程:?
1、客戶端發(fā)起寫入數(shù)據(jù)的請求, 首先會先連接zookeeper, 從zookeeper獲取hbase:meta表所在的regionServer的地址
2、連接meta表對應(yīng)的regionServer, 從meta表獲取目標表對應(yīng)要寫入數(shù)據(jù)的region的地址(基于region的startkey和endKey來確定)
3、連接對應(yīng)region的regionServer的地址, 開始進行數(shù)據(jù)的寫入
4、首先先將數(shù)據(jù)寫入到這個regionServer的Hlog日志中, 然后在將數(shù)據(jù)寫入到 對應(yīng)的region中store模塊的memStore中, 當這個兩個地方都寫入完成后, 客戶端就會認為數(shù)據(jù)寫入完成了
異步服務(wù)器端執(zhí)行過程:
5、客戶端不斷的進行數(shù)據(jù)的寫入工作, memStore數(shù)據(jù)也會不斷的增多, 當memStore中數(shù)據(jù)達到一定的閾值(128M|1小時)后, 內(nèi)部最終啟動一個flush線程, 將數(shù)據(jù)刷新到HDFS上, 形成一個storeFile文件
6、隨著memStore不斷刷新數(shù)據(jù)到HDFS中, storeFile文件也會越來越多, 當storeFile的文件達到一定的閾值后(3個及以上), 啟動compact線程, 將多個文件合并最終合并為一個大文件(Hfile)
7、隨著不斷的合并, 這個大的Hfile文件也會越來越大, 當這個大的Hfile達到一定的閾值(最終10GB)后, 啟動split機制, 將大的Hfile一分為二的操作, 此時region也會進行分割操作, 變成兩個新的region, 每個region管理每個分割后新的Hfile文件, 原有就得region就會被下線
8、隨著不斷的進行split, 表的region的數(shù)量也會越來越多的
- 📢博客主頁:https://lansonli.blog.csdn.net
- 📢歡迎點贊 👍 收藏 ?留言 📝 如有錯誤敬請指正!
- 📢本文由 Lansonli 原創(chuàng),首發(fā)于 CSDN博客🙉
- 📢大數(shù)據(jù)系列文章會每天更新,停下休息的時候不要忘了別人還在奔跑,希望大家抓緊時間學(xué)習(xí),全力奔赴更美好的生活?
總結(jié)
以上是生活随笔為你收集整理的2021年大数据HBase(十三):HBase读取和存储数据的流程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2021年全网最详细大数据常见端口汇总❤
- 下一篇: 2021年大数据HBase(十四):HB