HBase–shell操作:
創建HBase表:
創建簡單表:
create '表名', {NAME => '列簇名1'},{NAME => '列簇名2'}......
# 簡寫版
create '表名', '列簇名1','列簇名2','列簇名3'
# 詳細版
create '表名', {NAME => '列簇名1' ,VERSIONS => 版本號, TTL => 過期時間, BLOCKCACHE => true, 等等}
# 例子
create 't1', {NAME => 'f1', VERSIONS => 1, TTL => 2592000, BLOCKCACHE => true}
創建帶命名空間的表:
create_namespace 'mydemo'
create '命名空間:表名', {NAME => '列簇名1' ,VERSIONS => 版本號, TTL => 過期時間, BLOCKCACHE => true, 等等}
# 例子
create 'mydemo:t1', {NAME => 'f1', VERSIONS => 1, TTL => 2592000, BLOCKCACHE => true}
HBase添加:
put '表名','行鍵','列簇名:列名','列值'
HBase修改:
alter '表名','列簇名'
HBase查詢:
scan掃描:
scan '表名'
scan '表名', {COLUMN => '列簇名'}
scan '表名', {COLUMN => '列簇名:列名'}
get獲取:
get '表名','行鍵'
get '表名','行鍵','列簇名'
# 拿到最近的4個版本的那一行那一列的值
get '表名','行鍵','列簇名',{CLOUMN => '列名', VERSIONS => 4}
filter過濾獲取:
ValueFilter-值過濾:
# binary 等於某個值顯示出來,這裏是binary是因爲底層用二進制存儲
get '表名','行鍵',{FILTER => "ValueFilter(=,'binary:值')"}
# substring:包含某個值顯示出來
get '表名','行鍵',{FILTER => "ValueFilter(=,'subtring:值')"}
ColumnPrefixFilter-列名前綴過濾:
scan '表名', {FILTER => "ColumnPrefixFilter('列名前綴')"}
# 加and或者or混合使用
scan '表名', {FILTER => "ColumnPrefixFilter('列名前綴') AND ValueFilter(=,'subtring:26')"}
HBase刪除:
刪除某一列簇:
alter '表名', {NAME => '列簇名', METHOD => 'delete'}
刪除表:
drop '表名'