
文章插圖
StoreFile是HBase存儲數據的文件格式 。
HFile的邏輯結構HFile邏輯結構圖HFile的邏輯結構
邏輯結構說明4大部分
- Scanned block section
- 掃描StoreFile時,所有的Data Block(數據塊)都將會被讀取
- Leaf Index(LSM + C1樹索引)、Bloom block(布隆過濾器)都會被讀取
- Non-scanned block section
- 掃描StoreFile時,不會被讀取
- 包含MetaBlock和Intermediate Level Data Index Blocks
- Opening-time data section
- 在RegionServer啟動時,需要將數據加載到內存中,包括數據塊索引、元數據索引、布隆過濾器、文件信息 。
- Trailer
- 記錄了HFile的基本信息
- 各個部分的偏移值和尋址信息
StoreFile物理結構
- HFile文件是不定長的,長度固定的只有其中的兩塊:Trailer和FileInfo 。正如圖中所示的,Trailer中有指針指向其他數 據塊的起始點 。
- File Info中記錄了文件的一些Meta信息,例如:AVG_KEY_LEN, AVG_VALUE_LEN, LAST_KEY, COMPARATOR, MAX_SEQ_ID_KEY等
- Data Index和Meta Index塊記錄了每個Data塊和Meta塊的起始點 。
- Data Block是HBase I/O的基本單元,為了提高效率,HRegionServer中有基于LRU的Block Cache機制 。每個Data塊的大小可以在創建一個Table的時候通過參數指定,大號的Block有利于順序Scan,小號Block利于隨機查詢 。每個Data塊除了開頭的Magic以外就是一個個KeyValue對拼接而成, Magic內容就是一些隨機數字,目的是防止數據損壞 。
- HFile里面的每個KeyValue對就是一個簡單的byte數組 。但是這個byte數組里面包含了很多項,并且有固定的結構 。我們來看看里面的具體結構:
- 開始是兩個固定長度的數值,分別表示Key的長度和Value的長度
- 緊接著是Key,開始是固定長度的數值,表示RowKey的長度
- 緊接著是 RowKey,然后是固定長度的數值,表示Family的長度
- 然后是Family,接著是Qualifier
- 然后是兩個固定長度的數值,表示Time Stamp和Key Type(Put/Delete)——每一種操作都會生成一個Key-Value 。Value部分沒有這么復雜的結構,就是純粹的二進制數據了 。
- Data Block段
- Meta Block段 (可選的)
- File Info段
- Data Block Index段
- Meta Block Index段 (可選的)
- Trailer
【HBase存儲數據的文件格式是什么 hbase中數據存儲的文件格式是什么】
以上關于本文的內容,僅作參考!溫馨提示:如遇健康、疾病相關的問題,請您及時就醫或請專業人士給予相關指導!
「愛刨根生活網」www.malaban59.cn小編還為您精選了以下內容,希望對您有所幫助:- 如何高效刪除Word表格中的多余數據列
- Excel如何高效統計不同數據的個數
- Excel數據對比尋找差異的高效方法
- 如何利用SPSS進行加權個案數據處理
- Excel數據等于指定值時,自動改變單元格顏色
- Access數據庫中SQL語句使用技巧
- 如何正確恢復在使用U盤PE重裝操作系統后合并到C盤的數據
- 優化sufer軟件導出圖片步驟,提升數據處理效率
- 如何通過回收站加密文件夾數據
- 從橫向到豎向:Excel表格數據轉置操作方法
