一.功能实现
使用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','xx@qq.com'
(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