大資料技術之HBase第3章 HBase資料結構

2021-08-27 20:27:56 字數 828 閱讀 4358

與nosql資料庫們一樣,row key是用來檢索記錄的主鍵。訪問hbase table中的行,只有三種方式:

1.通過單個row key訪問

2.通過row key的range(正則)

3.全表掃瞄

row key行鍵 (row key)可以是任意字串(最大長度 是 64kb,實際應用中長度一般為 10-100bytes),在hbase內部,row key儲存為位元組陣列。儲存時,資料按照row key的字典序(byte order)排序儲存。設計key時,要充分排序儲存這個特性,將經常一起讀取的行儲存放到一起。(位置相關性)

列族:hbase表中的每個列,都歸屬於某個列族。列族是表的schema的一部 分(而列不是),必須在使用表之前定義。列名都以列族作為字首。例如 courses:history,courses:math都屬於courses 這個列族。

由 唯一確定的單元。cell中 的資料是沒有型別的,全部是位元組碼形式存貯。

關鍵字:無型別、位元組碼

hbase 中通過rowkey和columns確定的為乙個存貯單元稱為cell。每個 cell都儲存 著同乙份資料的多個版本。版本通過時間戳來索引。時間戳的型別是 64位整型。時間戳可以由hbase(在資料寫入時自動 )賦值,此時時間戳是精確到毫秒 的當前系統時間。時間戳也可以由客戶顯式賦值。如果應用程式要避免資料版 本衝突,就必須自己生成具有唯一性的時間戳。每個 cell中,不同版本的資料按照時間倒序排序,即最新的資料排在最前面。

為了避免資料存在過多版本造成的的管理 (包括存貯和索引)負擔,hbase提供 了兩種資料版本**方式。一是儲存資料的最後n個版本,二是儲存最近一段 時間內的版本(比如最近七天)。使用者可以針對每個列族進行設定。

大資料技術之HBase第6章 HBase原理

1 client向hregionserver傳送寫請求 2 hregionserver將資料寫到hlog write ahead log 為了資料的持久化和恢復 3 hregionserver將資料寫到記憶體 memstore 4 反饋client寫成功。1 當memstore資料達到閾值 預設是1...

大資料技術之Hive第5章 DML資料操作

1 語法 hive load data local inpath opt module datas student.txt overwrite into table student partition partcol1 val1,1 load data 表示載入資料 2 local 表示從本地載入資...

大資料HBase系列之HBase基本操作

hbase version hbase zkcli hbase shell 2.1 建立表 語法 create 表名 列族名 create student info 2.2 顯示所有表 語法 list 或 list 表名 list student 2.3 顯示表描述 語法 describe 表名 d...