AmosCloud

Library

Have a Question?

If you have any question you can ask below or enter what you are looking for!

HBase

HBase

是什么

HBase是hadoop生态的一个数据库软件,支持巨大规模数据的实时处理,
数百万行数千万列的大规模表的实时查询

架构

  • 主从架构

    • HMaster: HBase集群的主节点

      1. 负责管理RS
      2. 负责RS的负载均衡
      3. 负责管理集群节点的在线状态
    • HRegionServer: HBase集群的从节点

      1. 负责管理表数据(region)
      2. 负责接收客户端的读写请求
  • 存储结构

    • HBase存储稀疏的表结构

    • namespace(命名空间,类似RDB库)

    • table(表,类似RDB的表)

    • columnFamily(列族,列簇)

    • qualifier(限定符,类似RDB中的列)

    • rowkey(行键,类似RDB主键ID)

    • timestamp(时间戳,版本)

    • value(值,表中的数据内容)

操作

命令行操作

# 查看所有命令
help
# 查看某个命令的用法
help '命令'
# 进入HBase的命令行客户端
hbase shell
# 命名空间操作
# 查看命名空间列表
list_namespace
# 创建命名空间
create_namespace 'ns1'
# 表操作
# 创建表
create '表名','列族名'
# 插入数据
put '表名','行键','列族:列',[ts],'value'
# 单条查询
get '表名','行键',['列族:列'],[ts]
# 多条查询(扫描)
scan '表名'
# 根据行键的开始和结束进行范围扫描,开始行键和结束行键不一定是表中的行键
scan '表名',{STARTROW=>'开始行键',STOPROW=>'结束行键'}
# 表删除
# hbase中的表默认为启动状态,启用状态的表不能直接删除
# 需要先标记为禁用才能删除
disable '表名'
drop '表名'

javaAPI