1. 程式人生 > >HBase(1):shell基本命令

HBase(1):shell基本命令

一.功能實現

使用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