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*'