【大数据精讲】HBase基本概念与读写流程

这篇具有很好参考价值的文章主要介绍了【大数据精讲】HBase基本概念与读写流程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

基本概念

概念

数据模型

Name Space命名空间

Table

Row

Column

Time Stamp

Cell

逻辑结构

json

物理存储结构

基础架构

Meta表架构

RegionServer架构

⭐️写流程

⭐️读流程


基本概念

【大数据精讲】HBase基本概念与读写流程,大数据,面试,大数据,面试

【大数据精讲】HBase基本概念与读写流程,大数据,面试,大数据,面试

Apache HBase – Apache HBase™ Home

" This project's goal is the hosting of very large tables -- billions of rows X millions of columns --"

概念

  • 海量数据:10亿行、100万列
  • 非关系型数据库:kv结构
  • 稀疏的:不像关系型数据库表,即使没有数据也要留空
  • 分布式的
  • 持久的
  • 多维的:hashmap是单维度的
  • 排序的:排序后可以使用比如二分查找
  • map映射:k:v
    • key:行键、列键和时间戳索引作为key
    • value:未解释的字节数组,未解释指即经过序列化的

HBase使用与BigTable非常相似的数据模型,用户将数据行存储在带标签的表中。数据行具有可排序的键和任意数量的列。该表存储稀疏,因此如果用户喜欢,同一表中的行可以具有疯狂变化的列。

数据模型

Name Space命名空间

类似数据库概念,其下有多个表,自带两个:hbase和default

  • hbase:系统使用,存放内置表,不要操作
  • default:用户默认使用的

Table

hbase在定义表时只需要声明列族即可,不需要声明具体的列。数据存储是稀疏的,可以动态、按需指定,可以轻松应对字段变更

Row

行由RowKey和多个Column组成的,数据是按照RowKey字典顺序存储的,查询时只能按照RowKey进行检索,所以RowKey的设计十分重要。

hbase不能写sql,比如where name=xx不行,没这个功能,只能按rowkey读取,这也是hbase不太好用的原因。

Column

ColumnFamily列族+ColumnQualifier列名组成。

如info:name,info:age

建表时只需要指明列族,而列名无需预先定义。

Time Stamp

用来标记版本

Cell

即k:v模型,key由{rowkey,column family: column qualifier, timestamp}组成来,唯一确定的单元。cell中的数据全部是字节码形式存储。

cell针对的是底层存储StoreFile而言的,指的是底层存储的一行数据,其他是针对表而言的

逻辑结构

json

  • 列族:column family
  • 列:column
  • row key:行号,用来排序和整理数据,特点:一定是按照字典序排序好的,字典序:row_key11在row_key2前面

【大数据精讲】HBase基本概念与读写流程,大数据,面试,大数据,面试

横向拆分:按行拆分region

【大数据精讲】HBase基本概念与读写流程,大数据,面试,大数据,面试

竖向拆分:按列族拆分为store

【大数据精讲】HBase基本概念与读写流程,大数据,面试,大数据,面试

物理存储结构

物理存储结构即为数据映射关系,而在概念视图的空单元格,底层实际根本不存储。

  • Timestamp
    • 时间戳用于标记版本
    • 不同版本version的数据根据timestamp进行区分,读取数据默认读取最新的版本
    • HDFS存储有一个标志性的特点:不能够修改数据
    • 在不能改数据的基础上怎么实现改,以时间戳作为版本
  • Type:标记,写入Put 删除Delete
    • 对于删除操作,其类型为DeleteColumn

【大数据精讲】HBase基本概念与读写流程,大数据,面试,大数据,面试

基础架构

【大数据精讲】HBase基本概念与读写流程,大数据,面试,大数据,面试

【大数据精讲】HBase基本概念与读写流程,大数据,面试,大数据,面试

Meta表架构

警告:不要修改

System Table:hbase:meta

表名:[table],[region start key],[region id]

第一列:info:regioninfo 为region信息,存储一个HRegionInfo对象

第二列:info:server 当前region所处的RegionServer信息,包含端口号

第三列:info:serverstartcode 当前region被分到RegionServer的起始时间

如果一个表处于切分的过程中,即region切分,还会多出两列info:splitA和info:splitB,存储值也是HRegionInfo对象,拆分结束后,删除这两列

【大数据精讲】HBase基本概念与读写流程,大数据,面试,大数据,面试

RegionServer架构

【大数据精讲】HBase基本概念与读写流程,大数据,面试,大数据,面试

⭐️写流程

master只负责修改和写hbase/meta表,读找zk就可以了,zk会告诉你表在哪

仅能保证单文件HFile/storeFile有序

【大数据精讲】HBase基本概念与读写流程,大数据,面试,大数据,面试

【大数据精讲】HBase基本概念与读写流程,大数据,面试,大数据,面试

【大数据精讲】HBase基本概念与读写流程,大数据,面试,大数据,面试

⭐️读流程

hash有个特点:说没有一定没有,说有不一定有

【大数据精讲】HBase基本概念与读写流程,大数据,面试,大数据,面试

【大数据精讲】HBase基本概念与读写流程,大数据,面试,大数据,面试文章来源地址https://www.toymoban.com/news/detail-821217.html

到了这里,关于【大数据精讲】HBase基本概念与读写流程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • HBase详解(对hbase集群搭建、读写流程、hbase的javaApi等细致入微的讲解与保姆级的图解)

    我本想用MySQL来与HBase作比较,但发现他们两者毫无可比性,因为两者运用领域不同,各自有各自的优点,就好比爬山穿登山鞋,潜水穿脚蹼一般。 一门技术的兴起,一个优秀的开源项目的存在肯定是有它所存在的意义,正如大数据一样,正是因为随着时间的发展,随着技术

    2024年02月11日
    浏览(40)
  • Hbase基本概念

    一、Hbase介绍 1) Hbase一个分布式的基于列式存储的数据库,基于Hadoop的hdfs存储,zookeeper进行管理。 (2) Hbase适合存储半结构化或非结构化数据,对于数据结构字段不够确定或者杂乱无章很难按一个概念去抽取的数据。 (3) Hbase为null的记录不会被存储. (4)基于的表包含rowkey,时间戳

    2024年02月09日
    浏览(42)
  • HBase--技术文档--基本概念--《快速扫盲》

    Apache HBase – Apache HBase™ Home 阿里云hbase 云数据库HBase_大数据存储_订单风控_数据库-阿里云 云数据库 HBase-阿里云帮助中心         HBase是一种分布式、可扩展、支持海量数据存储的NoSQL数据库。它基于 Hadoop ,采用列式存储方式,可以提供实时计算和分布式访问。HBase的数

    2024年02月11日
    浏览(43)
  • kotlin学习(一)基本概念、数据对象类型、控制流程、空值检验、类与接口

    kotlin与java语言一样,编译成字节码后,在JVM虚拟机中运行。kotlin语言的特性依赖于kotlin的语法编译器。与kotlin类似的语言还有: Scala:大数据领域开发语言 Groovy:基于 JVM 平台的动态脚本语言, 在安卓开发中用来编写依赖关系、插件等 2019年谷歌宣布Kotlin成为安卓第一开发语

    2024年02月09日
    浏览(48)
  • 【Hadoop面试】HDFS读写流程

    HDFS(Hadoop Distributed File System)是GFS的开源实现。 HDFS是一个典型的主/备(Master/Slave)架构的分布式系统,由一个名字节点Namenode(Master) +多个数据节点Datanode(Slave)组成。其中Namenode提供元数据服务,Datanode提供数据流服务,用户通过HDFS客户端与Namenode和Datanode交互访问文件系统。

    2024年02月04日
    浏览(44)
  • 客户端读写HBase数据库的运行原理

    1.HBase的特点 HBase是一个数据库,与RDMS相比,有以下特点: ① 它不支持SQL ② 不支持事务 ③ 没有表关系,不支持JOIN ④ 有列族,列族下可以有上百个列 ⑤ 单元格,即列值,可以存储多个版本的值,每个版本都有对应时间戳 ⑥ 行键按照字典序升序排列 ⑦ 元数据 和 数据 分

    2024年02月10日
    浏览(57)
  • MATLAB算法实战应用案例精讲-【概念篇】构建数据指标方法(补充篇)

    目录 前言 几个高频面试题目 指标与标签的区别 几个相关概念 数据域

    2024年02月10日
    浏览(65)
  • MATLAB算法实战应用案例精讲-【概念篇】构建数据指标方法(最终篇)

    目录 前言 算法原理 指标体系的意义 1. 更好进行管理 2. 更优打造业务 3. 更早构造壁垒/

    2024年02月11日
    浏览(49)
  • Redis面试题一(基本概念)

    目录 1.redis 为何这么快 基于内存的操作 单线程模型 C语言实现 高效的数据结构 避免磁盘I/O 网络模型优化 2.redis为什么使用单线程 3.缓存三大问题以及解决方案 4.先删后写还是先写后删 先删缓存后写 DB 先写 DB 再删缓存 5.如何保证 Redis 的高并发 6.redis 如何保证原子性 7.redis的

    2024年04月25日
    浏览(28)
  • HTTP协议详解:基本概念与工作流程

    HTTP(Hypertext Transfer Protocol,超文本传输协议)是一种用于在计算机网络上进行数据交换的通信协议。它是互联网上最常用的协议之一,被广泛应用于Web浏览器和服务器之间的通信。本文将深入探讨HTTP协议的基本概念和工作流程,帮助读者更好地理解这个重要的通信协议。

    2024年02月10日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包