Hbase的名字来源于hadoop database,即为hadoop数据库。他是非结构化数据存储的数据库,是基于列的而不是基于行的,是一个分布式的,面向列的,利用hadoop HDFS作为他的文件存储系统,利用mapreduce处理hbase的数据.
Hbase用表来存储数据,表有行和列组成,列划分为若干个列簇,每个列簇下面可以有多个普通列.
配置了环境变量后可以用hbase shell进入命令行
查看命令行的具体使用,包括命令的作用和用法
Help '命令名称'
查看hbase shell支持的所有命令
help 'hbase'
显示集群状态
ststus
查看数据库版本
version
显示当前用户与组
whoami
退出hbase shell
exit
创建表
create '表名','列族名1','列族名2','列族名3'
添加一个列族
alter '表名','列族名'
删除一个列族
alter '表名',{NAME=>'列族名',METHOD=>'delete'}
获取表的描述
describe '表名'
获取执行的状态
alter_status '表名'
列举所有表
list
表是否存在
exists '表名'
启用这个表
enable '表名'
禁用这个表
disable '表名'
检查是否被禁用
is_enabled '表名'
检查是否被禁用
is_disabled '表名'
删除表,需要先禁用表再删除表,启动的表不允许删除
drop '表名'
插入或者修改数据
put '表名','行键','列族名:列名','列值'
全表扫描
scan '表名'
扫描整个列簇
scan '表名',{COLIMN=>'列族名'}
扫描整个列簇的某个列
scan '表名',{COLIMN=>'列族名:列名'}
获取数据
get '表名','行键'
获取某一行某列族的数据
get '表名','行键','列族名'
删除某个列族中的某个列
delete '表名','行键','列族名:列名'
删除某行数据
delete '表名','行键'
从起始行开始向后扫描
scan '表名',{STARTROW=>'行键名'}
截止到STOPROW输出之前的数据,不包括这行数据
scan '表名',{STOPROW=>'行键名'}