HBase之功能细节

【Unity】【Pico】【VR开发】为何PICO打包后真机运行闪退 由于并没有开版权验证,而且闪退后也并没有弹框说版权问题,所以还是怀疑环境有什么地方不对。设置步骤,项目配置都没问题,Build也成功,Unity版本是符合要求的2022LTS版本,但是一在真机上运行就闪退。 阅读详情

1.Region定位

在Google的BigTable体系中,tablet的存储地址通过3层目录结构来定位的,如图所示:

注:tablet等同与HBase中的Region


图释说明:

(1)METADATATable

METADATATable是系统预定义的Table,当用户自定义表格被拆分成多个tablet之后,METADATA Table用来存储这些tablet的地址,在目录层级中处于第3层

(2)Root tablet

METADATA表格在分布式存储过程中也会被拆分成多个tablet,其中第一个tablet比较特殊,用来存储其他tablet的地址,称之为Roottablet,在目录层级中处于第2层

(3)Chunbby file

用来存储Roottablet的地址,在目录结构中处于顶层

这样,客户端可通过Chubby file遍历到任何tablet的地址

在HBase中:

Region的概念等同于tablet

.META.表格等同于METADATATable

而-ROOT-表格等同于Chunbby file

这样,客户端可通过-ROOT- Table遍历到任何Region的地址,并把这些地址在本地进行缓存,以加快下次查询效率

2.Region分配

在HBase中,MasterServer负责将Region分配给RegionServer

首先,看一下BigTable中tablet如何分配:

当master机器启动的时候,它会处理如下事情:

(1)首先在Chunbby中获取masterlock,在分布式部署中,系统中只能有一个master处于运行状态,当其获得master锁之后,其他的master机器将会进入等待状态

(2)master会扫描Chunbby目录,以获取处于运行状态的table server(RegionServer)

(3)master会和每一台tabletserver进行通信,来记录哪些tablet已经成功分配

(4)master会扫描METADATA表格,如果发现有tablet不在已分配记录中,则将其分配到合适的tablet server

在HBase中,是通过如下API来完成Region的分配过程:

(1)Master在启动的时候,会去调用AssignmentManager类

(2)AssignmentManager通过查找.META.表格来获取Region信息

(3)如果Region尚未分配,则调用LoadBalancerFactory将其分配,默认的分配器(DefaultLoadBalancer)会将该Region分配给一个随机的RegionServer

(4)更新.META.表格信息

3.数据存储

在HDFS中,HBase的数据存储呈如下目录结构:

<hbase>

           |__<table>

                        |__<region>

                                   |__<columnFamily>

                                                         |__<storeFile>

StoreFile是基于Google的SSTable来实现的,每个SSTable相当于一个持久存储的、多维的、可序列化Map,Map的key和value都是可解释型字符数组,可从中提炼出具体的rowKey、timestamp、columnKey和columnValue等信息。

在物理存储上SSTable由多个Block块组成,SSTable记录了每个Block快的索引位置,并且在被访问的时候将这些块索引加载到内存,以便系统快速定位Block块所在磁盘位置。

4.Region Serving

在Google的BigTable体系中,tablet会持久化存储到GFS文件系统中,如图:

图释说明:

(1)当有写操作到达时,系统首先会将信息写入到tablet log,然后把所提交的数据存储在memtable上,这样,tablet log就记录了每次写操作的日志信息以及操作的数据信息,当需要执行undo/redo操作式,可通过遍历查找该tablet log来实现撤销/恢复的功能。

写操作提交之后,数据并没有持久化存储到本地硬盘上,而是放到了memtable里,memtable是存储在内存当中的,当其大小达到一定上限之后,才持久化存储到SSTable File中去,随后进行数据的压缩处理(参考5-数据压缩)

(2)因为memtable也存储了相关的数据信息,而且是写操作提交后的最新信息,所以查询操作的数据来源有两方面,一方面是SSTable Files,另一方面是memtable。

(3)tablet恢复

当tablet数据需要恢复到历史版本时,tablet server首先会查询METADATA表格,从中获取该tablet的元数据信息,包括:

        存储该tablet的SSTable文件

        Tablet的恢复点(存储在tabletlog中)

随后,tablet server会把要恢复的相关记录加载到内存,根据tablet log所记录的操作日志来重新构建memtable

5.数据压缩

数据压缩主要有3中方式,分别是:

(1)Minor compaction:

当memtable的大小达到一定上限之后便会被系统冻结。此时,一个新的memtable将会创建,而被冻结的memtable将会持久化储存到SSTable文件中去。

(2)Merging compaction:

每一个minor compaction都会生成一个SSTable文件,当minor compaction操作较多时, SSTable文件将会包含很多实体的历史信息,造成数据冗余,解决办法是系统会定期执行merging compaction,将相关SSTable存储的实体进行合并,以保证实体信息处于最新版本,为查询提供方便。

(3)Major compaction:

将所有的SSTable合并成一个SSTable称之为major compaction,Major compaction通常用来回收逻辑上已被删除的数据,以节省磁盘空间。
实战:RK3568 Android14 点亮 LVDS 屏幕 4组数据 (D0~D3) + 1组时钟 (CLK)。最大支持 1280x800 @ 60Hz。8组数据 (Even03, Odd03) + 2组时钟。支持 1080P 及以上。/ {/* 背光与电源 *//** 关键配置:数据格式映射* 可选值: "jeida-18", "jeida-24", "vesa-24"* 6位屏选 xx-18, 8位屏选 xx-24* 颜色不对(偏色/底片效果)就换 VESA <-> JEIDA*/ 阅读详情

相关推荐

抖音小游戏(IAA)巨量引擎投放指南

摘要:本文详细介绍了在巨量引擎平台投放小游戏广告的完整流程,包括五个关键步骤:1)添加小游戏资产,填写ID等信息并等待审核;2)添加事件管理,配置激活和关键行为事件;3)通过橙子建站创建落地页,设置跳转链接;4)新建广告项目,选择小程序推广目标;5)完成广告创建。

分享前端工程化、AI 应用、Agent 开发与大模型实践! 4505

Hadoop中的HBase是什么?请解释其作用和用途。

在上述代码中,我们首先获取了之前创建的"employee"表,然后创建了一个Put对象,将数据插入到表中。通过这个案例,我们可以看到HBase的使用方式和语法,以及如何使用HBase进行数据存储和查询。HBase的作用和用途在这里得到了解释,它提供了一个可靠、高性能的分布式数据库解决方案,适用于存储和处理海量结构化数据。大规模数据存储:HBase可以处理海量的数据,能够轻松应对PB级别的数据存储需求。在这个案例中,我们将创建一个名为"employee"的表,包含"id"、"name"和"age"三个列族。

jakelihua 892

Delta机器人:运动学正反解分析

Delta机器人:运动学正反解分析 一、Delta机构简介 Delta机构是并联机构中的一种典型机构,起原始结构如图1所示。Delta机构由R.Clavel 博士在 1985年发明,是现在并联机器人中使用最多的一种,具备了并联机构所特有的优点,负载能力强、效率高、末端执行器精度高、运动惯性小,可以高速稳定运动等。因此在机器人领域获得了越来越广泛的应用。以实现高速、精准、高效的运动。           &n

花洛兮灬 3万+

大数据基础之Hbase

一、为什么需要Hbase Hbase是BigTable的开源实现,是基于列的分布式数据库,具备高可靠、高性能、可伸缩等技术优势,主要用来存储非结构化和半结构化的松散数据。 Hadoop为什么要设计这么一个Hbase分布式数据库呢? 虽然Hadoop已经有了MapReduce和HDFS,但是Hadoop主要还是为了解决大规模数据离线批处理,因此Hadoop是没有办法满足大数据实时处理的需求。随着这些年数据的大规模爆炸式增长,传统关系型数据库的扩展能力有限,受到了非常大的挑战。 二、数据坐标概念 传统

Vincent_YWY的博客 1403

第4章 Stata参数检验

目录 4.1单一样本T检验 案例延伸 4.2独立样本T检验 案例延伸 1.改变置信水平 2.在异方差假定条件下进行假设检验 4.3配对样本T检验 案例延伸 1.改变置信水平 4.4单一样本方差的假设检验 案例延伸 4.5双样本方差的假设检验 参数检验(Parameter Test)是指对参数的平均值、方差、比率等特征进行的统计检验。参数检验一般假设统计总体的具体分布为已知,但是其中一些参数或者取值范围不确定,分析的主要目的是估计这些未知参数的取值,或者对这些参数进...

qq_45112156的博客 1万+

SpringBoot+Maven打包实战:把项目变成SDK供其他团队调用

本文详细介绍了如何将SpringBoot项目改造并打包成可被其他项目依赖的SDK。通过调整Maven配置,剥离SpringBoot父依赖与启动类,并定制打包插件,最终生成标准的JAR依赖库,实现从“可执行应用”到“组件化SDK”的优雅转变,便于团队间功能复用。

assembly8low的博客 827

Hbase简介

1、HBase是一个高可靠性、高性能、面向列(列族存储)、可伸缩的分布式存储系统。 HBase利用Hadoop HDFS作为其文件存储系统,HBase同样利用Hadoop MapReduce来处理HBase中的海量数据,HBase利用Zookeeper作为作为协同服务。 2、主要特点 列式存储 这里的列式存储其实说的是列族(ColumnFamily)存储,Hbase是根据列族来存储数据的。...

qq_30122883的博客 666

深入浅出SSD:固态存储核心技术、原理与实战(文末赠书)

作为经典畅销书的升级版,本书在第1版的基础上新增了大量新知识(如闪存、UFS、测试、文件系统等),并改写或删减了许多过时或不适用的内容,总修改量超过60%。本书由SSD技术社区SSDFans的核心团队成员联合业界、高校SSD方面的专家共同完成,相对于第1版,内容更全面、更新,也更有深度。本书从产品、技术和应用3个维度展开,全面、详细讲解了SSD的发展历史、产品形态、工作原理、整体架构,以及各个功能模块的原理和使用,从SSD的前端接口协议到FTL算法,再到后端的闪存和纠错,以及测试,本书都有涉及。

阿玥的小博客 3126

HBase应用场景和最佳实践

HBase 作为 Apache 基金会的 Hadoop 项目的一部分,将 HDFS 作为文件存储系统,使用 MapReduce 进行分布式的数据批量处理(非实时数据批量处理)、利用Zookeeper提供协同管理服务,为 Hadoop 提供海量数据管理服务,因此,HBase也是在一个服务器集群上运行的。

climbs的专栏 5417

利用pyGAM实现广义可加模型(GAM)的实战指南

本文提供了利用pyGAM库实现广义可加模型(GAM)的完整实战指南。通过乳腺癌和房价预测案例,详细讲解了从环境配置、模型构建、核心可视化(部分依赖图)到参数调优(n_splines, lam)的每一步。重点展示了GAM如何平衡模型准确性与可解释性,帮助数据科学家在Python中高效应用这一强大工具。

weixin_29053383的博客 329

【HCIA学习记录】WLAN配置实验

HCIA-WLAN

寸先生的AI道路 3874

HBase的功能细节

1.Region定位 在Google的BigTable体系中,tablet的存储地址通过3层目录结构来定位的,如图所示: 注:tablet等同与HBase中的Region 图释说明: (1)METADATATable METADATATable是系统预定义的Table,当用户自定义表格被拆分成多个tablet之后,METADATA Table用来存

我要的飞翔的专栏 488

从一个 ASIN 看透亚马逊:商品模型背后的增长飞轮

在亚马逊电商体系中,每件商品背后都有一套严密的商品建模逻辑。本篇文章以“ASIN 的一生”为线索,系统拆解了亚马逊的商品模型:从飞轮战略出发,剖析 SDP(Single Detail Page)机制如何实现标准化展示;再到 ASIN 编码、父子变体结构与 Offer 分离模型,逐层解析商品信息如何被建构、聚合与呈现。通过图解与案例,文章帮助读者理解商品建品流程、同款聚合原则、价格控制机制等核心逻辑,避免常见运营误区,是一份面向运营、产品、技术人员的实用参考指南。

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 13万+

hbase的coprocessor使用

1.起因(Why HBase  Coprocessor) HBase作为列族数据库最经常被人诟病的特性包括:无法轻易建立“二级索引”,难以执行求和、计数、排序等操作。比如,在旧版本的(计数据表的总行数,需要使用Counter方法,执行一次MapReduce Job才能得到。虽然HBase在数据存储层中集成了MapReduce,能够有效用于数据表的分布式计算。然而在很多情况下,做一些简单的

Hadoop、HBase、ElasticSearch、Storm、Kafka、Spark 8899

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Hbase学习日记:四、Hbase架构

Hbase架构

Yal_insist的博客 885

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Spark写入数据到Hbase(hdfs bulkload方式)

hbase同步数据到hdfs程序设计思路基于spark数据处理引擎

多头注意力探索Now 1863

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

HBase 面试题(一)

大数据面试题之HBase面试题

大数据流浪法师的学习笔记与分享 660

Hbase 技术细节笔记(上)

欢迎大家前往腾讯云技术社区,获取更多腾讯海量技术实践干货哦~ 作者:张秀云  前言 最近在跟进Hbase的相关工作,由于之前对Hbase并不怎么了解,因此系统地学习了下Hbase,为了加深对Hbase的理解,对相关知识点做了笔记,并在组内进行了Hbase相关技术的分享,由于Hbase涵盖的内容比较多,因此计划分享2期,下面就是针对第一期Hbase技术分享整体而成,第一期的主要内容如下: 一、H...

weixin_33971205的博客 111

HBase与BigTable的比较(翻译)

原文链接: http://www.spnguru.com/?p=165这是对HBase vs. BigTable Comparison一篇翻译,网上很多blog都转载了,虽然是2009年的文章,现在看起来还是有价值的,所以这里再次转载一下。————————————– 毫无理由的分

朝着梦想 渐行前进 2250

HBase原理

讨论QQ:1586558083目录系统架构物理存储整体的物理结构StoreFile 和 HFile 结构MemStore 和 StoreFileHbase WAL HLog预写Region 寻址机制老的 Region 寻址方式新的 Region 寻址方式 读写过程 读请求过程 写请求过程RegionServer 工作机制Region 分配RegionServ...

empyan的博客 171

python hbase_通过Python操作hbase api

#coding=utf-8#Author: ruin"""discrible:"""from thrift.transport importTSocketfrom thrift.protocol importTBinaryProtocolfrom thrift.transport importTTransportfrom hbase importHbaseimportstruct#Method f...

weixin_39922749的博客 183

HBase的两种协处理器

1.起因(Why HBase  Coprocessor) HBase作为列族数据库最经常被人诟病的特性包括:无法轻易建立“二级索引”,难以执行求和、计数、排序等操作。比如,在旧版本的( 2.灵感来源( Source of Inspration) HBase协处理器的灵感来自于Jeff Dean 09年的演讲( P66-67)。它根据该演讲实现了类似于bigtable的协处理器,包

bbaiggey_bigdata的博客 1642

Hbase的API

package cn.yc.com.base.data; /** * * ClassName: RecordBean * @Description: 实时访客Hbase表映射 * @author 余辉 * @date 2015-8-18 */ public class RecordBean { private String rowkey;

辉哥大数据 1334

HBase vs. BigTable Comparison - HBase对比BigTable

HBase is an open-source implementation of the Google BigTable architecture. That part is fairly easy to understand and grasp. What I personally feel is a bit more difficult is to understand how muc

技术笔记本 1875

HBase架构图

HBase系统架构图 Client  HBase Client使用HBase的RPC机制与HMaster和HRegionServer进行通信,对于管理类操作,Client与HMaster进行RPC;对于数据读写类操作,Client与HRegionServer进行RPCZookeeper Zookeeper Quorum中除了存储了-ROOT-表的地址和HMaster的地址,HRegion...

greatwqs : Where amazing happens ... 235
上一篇: HBase之体系结构(Architecture)
下一篇: HBase之Java API
JavaMan_chen
博客等级 码龄19年 329粉丝 82原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值