HBase資料結構(讀書筆記 )
阿新 • • 發佈:2019-01-25
背景:
最近在做一些跟大資料相關的東西,涉及到資料的儲存和分析,考慮各個方面,選擇使用HBase進行儲存,使用原生Java API進行資料分析,之後會陸續寫一系列來說明最近做的東西,給像我這樣未曾涉及過這個領域的人一點兒idea。
引言:
HBase以表的方式組織資料來源,這一點跟關係型資料庫時一樣的,在我們的application裡面,通過API/Thrift、或者各種SQL引擎,將資料存入庫裡面或者進行查詢;Hbase的表由行(Row)和列(Column)共同構成,與關係型資料庫不同的是,HBase有一個列族(Column Family)的概念,它將一列或者多列組織在一起,HBase的列必須屬於某一個列族。
行和列的交叉點稱為單元格(Cell),單元格是版本化的。單元格的內容也就是列的值是不可分割的位元組陣列,以二進位制的形式儲存。HBase沒有資料型別,任何列值都被轉換成字元陣列進行儲存。HBase表中的行是通過行鍵(Rowkey)來進行區分的,行健也是用來唯一確定一行的標識,不同的行健嗲表不同的行,行健也是一段位元組陣列,不論是字串還是數字,最終都會被轉換成自己陣列進行儲存。HBase表中的行是按照RowKey排序的,排序方式採用字典順序,所有表中的行都必須有RowKey。