Hbase学习(一)

本文介绍了HBase的数据模型,包括其概念视图、特点和适用场景。HBase是一个基于列存储的稀疏数据库,支持按Row Key读取数据。其特点是简单操作、动态列增删及多版本存储。适用于大数据高并发的随机读写场景。同时,文章提及了HBase的基本操作,如Shell和Java API的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

HBase 的数据模型

Hbase是一个稀疏的长期存储在磁盘上的有序的映射表,因为是稀疏存储,所以同一张表里面的每一行数据都可以有截然不同的列。

数据都是字符串,没有类型

概念视图

  • RowKey:行主键, HBase不支持条件查询和Order by等查询,读取记录只能按Row key(及其range)或全表扫描
  • Column Family:列族,在表创建时声明,每个Column Family为一个存储单元存储在一个Store中
  • Column:列,HBase的每个列都属于一个列族,以列族名为前缀,如列article:title和article:content属于article列族 ,会依照列名排序。列可以动态的增加
  • Timestamp:HBase通过row和column确定一份数据,这份数据的值可能有多个版本,不同版本的值按照时间倒序排序,即最新的数据排在最前面,查询时默认返回 最新版本。
  • Value:值

存储结构可以理解为:

SortedMap(Rowkey,List(

SortedMap(Column,List(

Value,Timestamp

))

))

特点

  • HBase只有很简单的插入,查询,删除,清空等操作,表和表之间是分离的
  • 基于列存储的,每个列族都有几个文件保存,不同列族的文件是分离的,后面会提到。
  • 确切的来说,HBase的更新操作应该不叫更新,虽然一个主键或列会对应新的版本,但它的旧版本依然会保留

Hbase的适用场景

  • 需要对数据进行随机读写操作
  • 大数据上高并发操作,比如没秒对PB级数据进行上千次操作
  • 只进行非常简单直接的读写访问,查询场景简单

Hbase的基本操作

名称

命令表达式

创建表

create '表名称','列簇名称1','列簇名称2'.......

添加记录

put '表名称', '行名称','列簇名称:','值'

查看记录

get '表名称','行名称'

查看表中的记录总数

count '表名称'

删除记录

delete '表名',行名称','列簇名称'

删除表

①disable '表名称' ②drop '表名称'

查看所有记录

scan '表名称'

查看某个表某个列中所有数据

scan '表名称',['列簇名称:']

更新记录

即重写一遍进行覆盖

参考:Shell&Java API

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值