HBase表、行與列族

2020-09-14 17:02 更新

HBase表

HBase 中表是在 schema 定義時(shí)被預(yù)先聲明的。

可以使用以下的命令來創(chuàng)建一個(gè)表,在這里必須指定表名和列族名。在 HBase shell 中創(chuàng)建表的語法如下所示:

create ‘<table name>’,’<column family>’ 

HBase行

HBase中的行是邏輯上的行,物理上模型上行是按列族(colomn family)分別存取的。

行鍵是未解釋的字節(jié),行是按字母順序排序的,最低順序首先出現(xiàn)在表中??兆止?jié)數(shù)組用于表示表命名空間的開始和結(jié)束。

HBase列族

Apache HBase 中的列分為列族和列的限定符。列的限定符是列族中數(shù)據(jù)的索引。例如給定了一個(gè)列族 content,那么限定符可能是 content:html,也可以是 content:pdf。列族在創(chuàng)建表格時(shí)是確定的了,但是列的限定符是動(dòng)態(tài)地并且行與行之間的差別也可能是非常大的。

Hbase表中的每個(gè)列都?xì)w屬于某個(gè)列族,列族必須作為標(biāo)模式(schema)定義的一部分預(yù)先給出。如 create'test',''course'。

列名以列族做為前綴,每個(gè)“列族”都可以有多個(gè)成員(colunm):如 course:math,course:english,新的列族成員(列)可以隨后按需、動(dòng)態(tài)加入

權(quán)限控制、存儲(chǔ)以及調(diào)優(yōu)都是在列族層面進(jìn)行的。

HBase Cell

由行和列的坐標(biāo)交叉決定;

單元格是有版本的;

單元格的內(nèi)容是未解析的字節(jié)數(shù)組;

單元格是由行、列族、列限定符、值和代表值版本的時(shí)間戳組成的({row key,column( =<family>+<qualifier>),version})唯一確定單元格。cell中的數(shù)據(jù)是沒有類型

的,全部是字節(jié)碼形式存儲(chǔ)。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)