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