HBase(1):shell基本命令
阿新 • • 發佈:2018-12-02
一.功能實現
使用shell基本命令,進行hbase資料庫操作
二.環境準備
1.開啟hdfs
2.開啟zk
3.開啟regionser和master
三.基本Hbase操作
1.hbase namespace
(1)建立namespace
create_namespace 'ns1'
create_namespace 'nstest'
(2)展示namespace
list_namespace
list_namespace_tables 'hbase' 檢視'hbase'名稱空間下的表
(3)描述namespace
describe_namespace 'ns1'
(4)刪除namespace
drop_namespace 'ns1'
2.DDL
(1)展示使用者所有表
list
(2)建立表
create 'ns1:t1', {NAME => 'f1', VERSIONS => 5},{NAME => 'f2', VERSIONS => 5} create 't1', 'f1', 'f2', 'f3' -》指定某一個名稱空間下的某一張表 -》必須要指定至少一個列簇 {NAME=>'f1'} -》"=>"表示等於的意思 -》一對{}只能定義一個列簇,不同的可以定義多個 -》{}中的變數必須是大寫的
(3)描述一張表
desc 'student'
describe 'nstest:student'
(4)修改表
修改某個列簇下的某些屬性:如version
alter 't1', NAME => 'f1', VERSIONS => 5
如果表下沒有這個列簇,就會新增這個列簇
alter 't1', NAME => 'f4', VERSIONS => 5
刪除列簇
alter 't1', NAME => 'f1', METHOD => 'delete'
alter 't1', 'delete' => 'f2'
(5)刪除表:刪除表之前首先要禁用該表
disable 't1'
drop 't1'
3.DML:hbase DML
(1)put插入
put 'ns1:stuInfo','1001','info:name','張三'
put 'ns1:stuInfo','1001','info:age','18'
put 'ns1:stuInfo','1001','info:sex','男'
put 'ns1:stuInfo','1002','info:name','lisi'
put 'ns1:stuInfo','1002','info:age','18'
put 'ns1:stuInfo','1002','info:sex','female'
put 'ns1:stuInfo','1003','info:name','wangwu'
put 'ns1:stuInfo','1003','info:age','18'
put 'ns1:stuInfo','1003','info:sex','male'
put 'ns1:stuInfo','1001','contact:phone','1111111111'
put 'ns1:stuInfo','1003','contact:email','[email protected]'
(2)get查詢
查詢某個rowkey的資料
get 'nstest:student','1001'
查詢某個列的資料
get 'nstest:student','1001','info:name'
查詢某個列簇的資料
get 'nstest:student','1001','info'
(3)scan(支援全表查詢)
類似於select * from
scan 'nstest:student'
從指定rowkey開始查,包括了指定rowkey的資料
scan 'nstest:student',{STARTROW => '1002'}
資料包頭不包後
scan 'nstest:student',{STARTROW => '1002',STOPROW => '1003'}
(4)delete刪除
delete 'nstest:student', '1001', 'info:name'
刪除某rowkey的資料
deleteall 'nstest:student', '1001'
(5)清空資料
truncate table