| |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| -> 大数据 -> 透视Hbase数据模型|概念视图|物理视图 -> 正文阅读 |
|
|
[大数据]透视Hbase数据模型|概念视图|物理视图 |
|
? ? ?在 HBase 中,数据存储在有行和列的表中。这是与关系数据库 (RDBMS) 的术语重叠,但这不是一个有用的类比。相反,将 HBase 表视为多维映射可能会对理解更有所帮助。 先来看下hbase表模型的专业术语
?Hbase概念视图与本质? ? ?? ? ? ?假如有一个名为webtable的表,它包含两行(com.cnn.www和com.example.www)和三个列族,分别是contents、anchor和people。 ? ? ? ? 在这个例子中,对于第一行(com.cnn.www), anchor包含两列(anchor:cssnsi.com, anchor:my.look.ca), contents包含一列(contents:html)。这个例子包含行键为com.cnn.www的5个版本,以及行键为com.example.www的一个版本。 表webtable?
此表中看起来为空的单元格不占用空间,或者实际上存在于 HBase 中。这就是 HBase“稀疏”的原因。表格视图不是查看 HBase 中数据的唯一可能方式,甚至不是最准确的方式。以下表示与多维map相同的信息。但注意这只是用于说明Hbase模型,可能并不完全准确。? 表webtable的 Hbase Map视图
? ? ?只是这里Hbase 使用的 Map 的主键更加复杂,是一个复合键由?row key行键 、column key列族(一个列族里可以在使用时任意添加拓展列,百万列的级别) ,qualifier列(也称限定符),type和 timestamp构成的KV键值对。 ? ? ?如上,其实我们发现每个键都指向一个包含3个键的映射:“contents”,“anchor”和“people”,这个我们称之为列族,列族的定义设置其实也就定义了多维map的框架是什么样,也就是第二层map的个数,我们又可以在第二层每个map里添加任意多个kv(map)键值对,是为列和列值。表的列族是在创建表时指定的,以后很难或不可能修改。添加新的列族也可能很昂贵,因此最好预先指定您需要的所有列族。 ? ?Hbase/BigTable 中表示的最后一个维度是时间。所有数据都使用整数时间戳(自纪元以来的秒数)或您选择的另一个整数进行版本控制。客户端可以在插入数据时指定时间戳。如上,同一个rowkey com.cnn.www 的contents:html的值就有多个时间版本。
?Hbase实际的物理视图? ? ? ?尽管在概念级别Hbase表可能被视为一组稀疏的行,但它们在物理上是按列族存储的。可以随时将新的列限定符 (column_family:column_qualifier) 添加到现有列族中。 ? ? ?如上图所示,很好地阐述了hbase数据存储结构,但尤其注意同一个rowkey多个时间戳,不同列族列缺失的情况,是如何存储的。如下: ? ? ? ?概念视图中显示的空单元格根本没有存储,稀疏的。因此,对 ? ? ?注意,假如一个rowkey:
|
|
|
|
|
| 上一篇文章 下一篇文章 查看所有文章 |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| 360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年11日历 | -2025/11/21 2:57:53- |
|
| 网站联系: qq:121756557 email:121756557@qq.com IT数码 |