HBase数据模型
HBase的基本概念
- 表
HBase中的数据以表的形式存储,在HDFS中每个表名都作为一个独立的目录结构
- 行
在HBase里,每一行代表一个数据对象
- 列族
HBase中列族是一些列的集合,列族支持动态扩展
- 列标识
列族中的数据通过列标识来进行定位 列族:列
- 单元格
每一个行键,列族,列标识共同确定一个单元格.单元格可以用 行键,列族:列,时间戳
来进行访问
- 时间戳
每一个单元格在插入数据时会用时间戳进行版本标识
数据模型
行键 | 列族 StuInfo | 列族 Grades | 时间戳 | |||||
---|---|---|---|---|---|---|---|---|
Name | Age | Sex | Class | BigData | Computer | Math | ||
0001 | Tom Green | 18 | Male | 80 | 90 | 85 | T2 | |
0002 | Amy | 19 | 01 | 95 | 89 | T1 |
HBase Shall基本操作
操作前start-all.sh
启动Hadoop打开,start-hbase.sh
打开HBase
命令 | 描述 |
---|---|
hbase shell | 进入HBase Shell命令行环境 |
help | 查看帮助 |
status | 查看当前集群节点的状态 |
version | 查看当前HBase的版本号 |
exit 或 quit | 退出HBase Shell |
list | 列出HBase中已有的表 |
exsits | exists ‘Student’ |
数据定义
命令 | 描述 |
---|---|
create | 创建指定模式的新表 |
alter | 修改表的结构,如添加新的列族 |
describe | 展示表结构的信息,包括列族的数量与属性 |
disable/enable | 为了删除或更改表而禁用一个表,更改完后需要解禁表 |
disable_all | 禁用所有的表 |
is_disabled | 判断一个表是否被禁用 |
drop | 删除表 |
truncate | 如果只是想删除数据而不是表结构,用truncate来禁用表、删除表并自动重建表结构 |
创建表
create ‘表名’,‘列族名’ create 'Student','StuInfo','Grades'
更改表
alter 'Student', {NAME => 'Grades', VERSIONS => 3} alter 'Student', {NAME=>'hobby', METHOD=>'delete'}
删除表
disable 'Student' drop 'Student' truncate 'Student'
数据操作
put
put 表名,行键,列名,值[,时间戳]
2. delete
disable 表名
delete 表名
- get
- scan
过滤器操作
未完待续 . . .