我的编程空间,编程开发者的网络收藏夹
学习永远不晚

HBase表的数据模型是什么

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

HBase表的数据模型是什么

本篇内容主要讲解“HBase表的数据模型是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“HBase表的数据模型是什么”吧!

HBase是运行在Hadoop集群上的一个数据库,与传统的数据库有严格的ACID(原子性、一致性、隔离性、持久性)要求不一样,HBase降低了这些要求从而获得更好的扩展性,它更适合存储一些非结构化和半结构化的数据。

表(Table)

HBase 中的数据以表的形式存储。同一个表中的数据通常是相关的,使用表主要是可以把某些列组织起来一起访问。表名作为 HDFS 存储路径的一部分来使用,在 HDFS 中可以看到每个表名都作为独立的目录结构。

HBase表的数据模型主要概念包括rowkey、Column Family、Column、cell、Timestamp。

1. rowkey行键

  • table的主键,table中的记录==按照rowkey 的字典序进行排序==

  • rowkey行键可以是任意字符串(最大长度是 64KB,实际应用中长度一般为 10-100bytes)

2. Column Family列族

  • 被称为列族或列簇

  • HBase表中的每个列,都归属与某个列族

  • 列族是表的schema的一部分(而列不是),即建表时至少指定一个列族

  • 比如创建一张表,名为user,有两个列族,分别是userInfoaddressInfo,建表语句create 'user', 'userInfo', 'addressInfo'

3. Column列

  • 列肯定是表的某一列族下的一个列,用列族名:列名表示,如userInfo列族下的name列,表示为userInfo:name

  • 它属于某一个ColumnFamily,类似于我们mysql当中创建的具体的列

4. cell单元格

  • 知道row key行键、列族、列,可以确定的一个cell单元格

  • cell中的数据是没有类型的,全部是以字节数组进行存储

5. Timestamp时间戳

  • 可以对表中的Cell多次赋值,每次赋值操作时的时间戳timestamp,可看成Cell值的版本号version number

  • 即一个Cell可以有多个版本的值

理解数据模型各概念的图

HBase表的数据模型是什么

上表展示的是 HBase 中的用户信息表 user,有三行记录和两个列族(不考虑空白的列族,代表可以有很多列族),行键分别为 1、2 和 3,两个列族分别为 userInfo 和 addressInfo,每个列族中含有若干列,如列族 userInfo 包括 name、age、sex 3列,列族 addressInfo 包括 address、from、phone、email、ralary 5列。

在 HBase 中,列不是固定的表结构,在创建表时,不需要预先定义列名,可以在插入数据时临时创建。

从表的逻辑模型来看,HBase 表与关系型数据库中的表结构之间好像没什么差别,只不过多了列族的概念。但实际上是有很大差别的,关系型数据库中表的结构需要预先定义,如:列名及其数据类型和值域等内容。

当需要添加新列,则需要修改表结构,这会对已有的数据产生很大影响。同时,关系型数据库中的表为每个列预留了存储空间,即表中的空白 Cell 数据在关系型数据库中以“NULL”值占用存储空间。因此,对稀疏数据来说,关系型数据库表中就会产生很多“NULL”值,消耗大量的存储空间。

与面向行存储的关系型数据库不同,HBase 是面向列存储的,且在实际的物理存储中,列族是分开存储的,即表中的用户信息表将被存储为 userInfo 和 addressInfo 两个部分。

同时HBase存在时间戳,可以多次对一个cell赋值,可以存储多个版本的值,如上表中rowkey为1的数据存储了2个时间版本的数据。

到此,相信大家对“HBase表的数据模型是什么”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

HBase表的数据模型是什么

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

HBase表的数据模型是什么

本篇内容主要讲解“HBase表的数据模型是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“HBase表的数据模型是什么”吧!HBase是运行在Hadoop集群上的一个数据库,与传统的数据库有严
2023-06-30

HBase的数据模型讲解

本篇内容主要讲解“HBase的数据模型讲解”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“HBase的数据模型讲解”吧!1、ROW KEY决定一行数据按照字典顺序排序的。Row key只能存储64
2023-06-03

Cassandra的数据模型是什么

Cassandra的数据模型是基于分布式的、非关系型的数据模型。它采用了基于列的存储结构,将数据按照行和列的方式进行存储。在Cassandra中,数据被组织成一个由一系列行和列组成的表格,每一行代表一个数据项,每一列代表一个属性。这种数据模
Cassandra的数据模型是什么
2024-04-09

Cassandra中的数据模型是什么

Cassandra采用了一个灵活的分布式数据模型,称为"列族"模型。在这个模型中,数据被组织成行和列的集合。每行被称为一个"行键",每个列被命名,并包含一个值。行键和列名称是用于检索数据的主要标识符。列族模型允许每一行可以拥有不同数量的列,
Cassandra中的数据模型是什么
2024-04-09

数据交换模型是什么

本文小编为大家详细介绍“数据交换模型是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“数据交换模型是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。数据交换模型使得不同应用程序之间的数据交换成为可能。这里是
2023-06-27

Cassandra的数据模型是什么样的

Cassandra是一个分布式数据库系统,其数据模型是基于键值对的列族模型。在Cassandra中,数据以行(row)的形式存储,每一行包含一个主键和一组列族(column family)。每一行的主键必须是唯一的,并且可以包含多个列族。
Cassandra的数据模型是什么样的
2024-03-06

HBase支持哪些数据模型的操作

HBase支持以下数据模型的操作:列族数据模型:HBase使用列族(Column Family)来组织数据,每个列族包含多个列限定符(Column Qualifier),可以在表的不同行中存储不同列族的数据。行键数据模型:HBase使用行键
HBase支持哪些数据模型的操作
2024-03-11

Python数据模型与对象模型的区别是什么

这期内容当中小编将会给大家带来有关Python数据模型与对象模型的区别是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。数据模型==对象模型Python官方文档说法是“Python数据模型”,大多数Py
2023-06-15

hbase修改数据的方法是什么

HBase提供了两种主要的方法来修改数据:使用Put操作:Put操作用于新增或更新一行数据。可以通过创建一个Put实例来指定要修改的行键(Row Key),然后添加要修改的列和对应的值。Put操作可以用于插入新数据,也可以用于更新现有数据。
hbase修改数据的方法是什么
2023-10-28

hbase读取数据的流程是什么

HBase读取数据的流程如下:客户端向HBase集群发送读取请求,请求包括表名、行键和列族等信息。HMaster接收到请求后,根据表名和行键确定数据所在的RegionServer。RegionServer根据请求中的行键查找对应的HFi
hbase读取数据的流程是什么
2024-03-05

HBase的数据迁移的过程是什么

HBase的数据迁移过程通常包括以下几个步骤:准备目标环境:首先需要准备好目标HBase集群,包括配置好HBase服务、准备好目标表的结构等。数据导出:将源HBase集群中的数据导出到一个中间数据存储中,通常可以选择使用Hadoop的Map
HBase的数据迁移的过程是什么
2024-03-11

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录