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来禁用表、删除表并自动重建表结构
  1. 创建表

     create ‘表名’,‘列族名’
     create 'Student','StuInfo','Grades'
  2. 更改表

     alter 'Student', {NAME => 'Grades', VERSIONS => 3} 
     alter 'Student', {NAME=>'hobby', METHOD=>'delete'}
  3. 删除表

     disable 'Student'
     drop 'Student'
    
     truncate 'Student'

数据操作

  1. put

     put 表名,行键,列名,值[,时间戳]


2. delete

    disable 表名
    delete 表名
  1. get
  2. scan

过滤器操作

未完待续 . . .