1. 程式人生 > >hbase 命令詳解之namespace與table

hbase 命令詳解之namespace與table

1、/hbase shell命令
從檔案中讀取shell命令

/hbase shell ./sample_commands.txt  

sample_commands檔案中寫入命令,一行一個。
2、status 檢視伺服器狀態資訊(伺服器數量,死掉的伺服器數量,平均負載)
3、version 版本資訊
4、whoami 當前登入使用者的資訊(使用者名稱,使用者組)

namespace

在HBase中,namespace名稱空間指對一組表的邏輯分組,類似RDBMS中的database,方便對錶在業務上劃分。Apache HBase從0.98.0, 0.95.2兩個版本開始支援namespace級別的授權操作,HBase全域性管理員可以建立、修改和回收namespace的授權。
HBase系統預設定義了兩個預設的namespace
hbase:系統內建表,包括namespace和meta表
default:使用者建表時未指定namespace的表都建立在此
建立namespace

hbase>create_namespace 'nametest'  

刪除namespace

hbase>drop_namespace 'nametest'  

檢視namespace

hbase>describe_namespace 'nametest'  

列出所有namespace

hbase>list_namespace  

在namespace下建立表

hbase>create 'nametest:testtable', 'fm1'  

檢視namespace下的表

hbase>list_namespace_tables 'nametest'

table

以一個人的資訊為例,如一個人有自己的名字,性別,電話;同時他還有很多朋友,親人;這些朋友,親人的資訊。
HBase建立表

hbase>create 'person','pengyou1','pengyou2'

HBase列出表

hbase>list

list 是用來列出HBase中所有表的命令。如果直接list,就會把除hbase之外的所有的namespace中的所有表列出;如果想只是列出某個namespace的表,見上面list_namespace_tables。
HBase禁用表

hbase>disable 'person'

查看錶是否被禁用

hbase>is_disabled 'person'

禁用所有匹配給定正則表示式的表

hbase>disable_all 'test*'

禁用所有test開頭的表
HBase啟用表

hbase>enable 'person'

查詢表是否被啟用

hbase>is_enabled 'person'

HBase表描述和修改

hbase> describe 'person'

修改表屬性

alter 'person', NAME => 'pengyou1', VERSIONS => 3

修改列pengyou1的VERSIONS屬性的值為3。
HBase Exists

hbase>exists 'person'

HBase建立資料
put命令,例如

hbase>put 'person','row1','pengyou1:name','zhangsan'
hbase>put 'person','row1','pengyou1:sex','man'
hbase>put 'person','row1','pengyou1:tel','133333333'
hbase>put 'person','row1','pengyou2:name','lisi'
hbase>put 'person','row1','pengyou2:sex','woman'
hbase>put 'person','row1','pengyou2:tel','155555555'

HBase更新資料
put命令,例如

hbase>put 'person','row1','pengyou1:name','wangwu'

HBase讀取資料
get 命令
讀取指定行

hbase>get 'person', 'row1'

讀取指定列

hbase>get 'person', 'row1','pengyou1:name','pengyou2:name'

HBase掃描
scan命令,類似mysql中的select * from table;

hbase>scan 'person'

HBase計數和截斷
可以使用count命令計算表的行數量

hbase>count 'person'

truncate此命令將禁止、刪除、重新建立一個表。
這個命令相當於先後執行了disable–>drop–>create命令

hbase>truncate 'person'

HBase刪除表
用drop命令可以刪除表。在刪除一個表之前必須先將其禁用。

hbase>disable  'person'
hbase>drop  'person'
hbase>drop_all  'test*'