HBase入门指南

目录导航

1、概念介绍
2、原理图
3、基本命令
4、java远程连接hbase

一、概念介绍

  1. 列(column)是最基本的存储单位
    列的名称规范:列族名:列名
    hbase 会尽量将属于同一个列族的列放在一台机器上面

  2. 多个列可以组成一个列族(column family)
    表的属性定义在列族上,如:过期时间、数据块缓存、是否压缩等
    因此,同一个表的列族可以有完全不同的属性,
    但是,同一个列族内的列具有相同的属性

  3. 每个行都拥有唯一的一个行键(rowkey),行键是一串不可重复的字符串
    hbase中无法根据column来排序,只能根据rowkey进行排序,排序规则是根据字典
    如:key1 key2 key11
    结果:key1 key11 key2

  4. 单元格
    一个列上面可能存储多个版本的值
    多个版本的值被存储在多个单元格中
    唯一确定一条结果的表达式应该是:行键:列族:列:版本号
    版本号可以省略,如果不写版本号,hbase会默认使用最后一个版本的数据
    每个列或者每个单元都会被赋予一个时间戳,
    该时间戳默认由系统指定,也可以用户显示指定

  5. 注意:
    行与行的列可以完全不一样
    上一行和下一行的数据也可以存储在不同的机器上
    同一行内的列可以存储在完全不同的机器上

  6. 提示:
    一个表设置多少列族比较好?官方建议越少越好
    虽然hbase是分布式数据库,但是数据在同一台物理机上依然会加速数据的查询速度
    所以列族太多会极大的降低数据库性能,并且列族定义太多容易出现bug

  7. Region
    region是一段数据的集合
    region是基于searchserver的,它的所有数据存取操作都是调用hdfs客户端来实现
    一个region就是多个行

  8. zookeeper、hbase、hdfs的关系
    hbase中的regionServer存储实际的表数据信息
    这些数据信息存储在hdfs上面
    zookeeper管理这些regionServer,
    包括具体的数据字段存储在哪个regionServer上面,
    客户端每次与hbase连接,其实先和zookeeper通信,
    查询出需要先和哪个regionServer通信,然后再连接该regionServer


二、原理图

在这里插入图片描述

三、基本命令

  • hbase shell 进入操作行
  • list 查看表
  • get ‘表名’ ‘rowkey名称’,‘列族:列的名称’
    get ‘patient_count’,‘pat_001’
  • describe ‘表名’ 查看表结构
    获取的结果
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值