内容简介:HBase作为数据库,搞清它的数据模型与操作是最基本的,这篇就讲这些比较基础的东西。文中会涉及到比较多的操作命令,建议收藏,用到时在拿出来查看。这里有一张表,是用关系型数据库的思维画出来的表,这样比较易于理解:
HBase作为数据库,搞清它的数据模型与操作是最基本的,这篇就讲这些比较基础的东西。文中会涉及到比较多的操作命令,建议收藏,用到时在拿出来查看。
这里有一张表,是用关系型数据库的思维画出来的表,这样比较易于理解:
概念
Table(表格)
没啥说的,和关系型数据库一样,由多行组成
Row(行)
包含一个key和一个或者多个列。行按照RowKey字典序存储在表格中。
Column Family(列族)
可以理解为一组列的集合,HBase官方建议尽量的减少ColumnFamily的数量。
Column Qualifier(列)
一个 Column Family 下面有多个Column Qualifier,
Timestamp(时间戳)
时间戳是写在值旁边的一个用于区分值的版本的数据。可以开发者自己指定,默认情况下,时间戳表示的是当数据写入时RegionSever的时间点。
Cell(单元)
单元是由行、列族、列、值和代表值版本的时间戳组成的。举个例子:
实际模型
上面表的其中一行,在hbase shell 中显示实际是这样的。
可见
-
稀疏列存储:如果RowKey=B;Column=C1_1 这一格是空的,不会造成存储空间碎片,只会少存一行
-
添加列方便:只需指定列名列族名,column=CF1:C1_1
-
rowkey字典序排列
-
每个value都有一个时间戳
操作汇总
注意后方高能,是一些常用的命令,看完可以收藏一波。
增删改查
创建表
添加记录/更新记录
查看记录
查看表中的记录总数
删除记录
删除一张表
查看所有记录
查看某个表某个列中所有数据
过滤器
RowFilter
通过rowkey过滤,匹配出rowkey中含uncle的数据。
通过rowkey过滤,匹配出rowkey等于uncle666的数据。
通过rowkey过滤,匹配出rowkey小于等于uncle666的数据。
匹配从rowkey为uncle666开始读50行
匹配时间范围
PrefixFilter
通过rowkey前缀过滤,匹配出rowkey前缀为666的数据。
ValueFilter
通过value过滤,匹配出value含uncle的数据。
FamilyFilter
通过列簇过滤,匹配出列簇含f的数据。
推荐阅读
觉得有价值请关注 ▼
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- Flask框架从入门到精通之模型迁移操作(十六)
- Django基础五之Django模型层(二)多表操作
- 056.Python前端Django模型ORM多表基本操作
- 操作系统I/O模型及轮询技术演变
- 浏览器中的JavaScript:文档对象模型与 DOM 操作
- 使用 laravel-repository 扩展包实现对模型类操作的封装
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。