Hbase存储特点

海量数据
    上百亿行+上百万列的数据
准实时查询
    查询数据控制在1秒以内
面向列
    列不要提前定义可以动态增加
稀疏性
    为空的列不占用存储空间,表可以设计的非常稀疏
扩展性
    底层依赖于HDFS
高可靠性
    因为底层依赖HDFS,可以进行多副本分布式存储

Hbase表操作命令

hbase hell 进入hbase shell命令

create  # 创建表
    create 'test', 'info'   # 创建test表  包含info族
describe 或 desc  # 查看表结构
    describe 'test'  # 查看表信息
    desc 'student'  # 查看student表结构
enable   # 激活表
    enable 'test'   # 激活表
is_enabled  # 查看表是否激活
    is_enabled 'test'   # 查看是否看可用
drop  # 删除表   删除表之间  先要disable 屏蔽表
    drop 'test'  # 删除表
disable  # 屏蔽表
    disable 'test'  # 禁用表
is_disabled  # 查看表是否屏蔽表
    is_disabled 'test'  # 查看test是否无效
list  # 查看库里面有多少张表
    list 查看表
alter # 修改列簇(column family)模式
    alter 'test', 'id'   # 添加一个族
    alter 'test', {NAME => 'id', METHOD => 'delete'}  # 删除一个族
count  # 统计表中行的数量
    count 'test'  # 查看有多少行
delete  # 删除指定对象的值(可以为表,行、列对应的值,另外也可以指定时间戳的值)
    delete 'test', '0001', 'info:age'  # 删除0001行 age的数据
deleteall   # 删除指定行的所有元素值
    deleteall 'test','0001'   # 删除整行数据
exists  # 测试表是否存在
    exists 'test'  # 查看表是否存在
exit  # 退出Hbaseshell
    exit
get  # 获取行或单元(cell)的值
    get 'test', '0001', 'info:age'  # 获取0001行 age的数据
incr  # 增加指定表,行或列的值
put   # 向指向的表单元添加值
    put 'test', '0001', 'info:username', 'henry'   # 插入一条数据   0001:行信息    info:族信息   username:列信息   henry:值
tools  # 列出Hbase所支持的工具
scan   # 通过对表的扫描来获取对用的值
    scan 'test'  # 查看表值
status   # 返回Hbase集群的状态信息
    status
shutdown  # 关闭Hbase集群(与exit不同)
truncate  # 截断表数据
    truncate 'test'  # 截断表
version  # 查看hbase版本
    version