一、HBase表的基本结构
1.概述:
平时常见的MySQL、Oracle数据库都是传统型关系数据库,它们都是按行查询、按行存储;而HBase为非关系型数据库,它是按列存储的的。
在HBase插入数据时,先输入数据的格式为rowkey => info => column => value
rowkey:行键,唯一且不重复
info:列族(数量一般不超过3个)
column:列(在列族下,一个列族下可有许多个列)
value:值
timestamp:时间戳
cell:单元格
表的基本结构如图::
二、HBase的常用命令行
1.查看服务器状态
status 'hd1-1'
2.查看当前用户/帮助
whoami/help
3.查看当前所有的表/命名空间
list
list_namespace
4.创建一张表(一张表名为user、有两个列族分别为info1和info2)
create 'user','info1','info2'
5.扫描一张表
scan ‘user'
6.向表中插入数据(向user表的001行键、info列族中插入名为name的列,值为Dilireba)
put 'user','001','info1:name','Dilireba'
7.筛选数据(startrow、stoprow)
scan 'user',{STARTROW => '001'}
8.查看表结构
describe 'user'
9.更变表信息,修改版本号
alter 'user',{NAME => 'info1',VERSIONS => '3'}
注释:版本号的意思是一个数据可以存在的版本数,比如user表的info1列族版本versions=3,代表该列族下的数据最多可以存在三个版本,如info1:name=Dilireba,然后在info1:name插入新数据为Yangmi,查看时显示为Yangmi,但是Dilireba仍然存在,可以通过时间戳来查看。
10.删除一张表(先弃用表,在删除表)/命名空间
disable 'user'
drop 'user' /
drop '命名空间'
11.删除一列数据/一列族数据
delete 'user','001','info:name'
delete 'user','001'
12.清空表
truncate 'user'
13.查看表的行数(rowkey的数量)
count 'user'
14.查看指定的rowkey的值
get 'user','001'