hbase 快速入门之---HFILE数据格式

关于HFile的存储结构梳理以及快速定位rowkey 一、HFile结构介绍   为了支持数据的随机查询,HFile结构分为六个部分: 1、数据块–保存表中的数据,每一个数据块由块头和一些keyValue(record)组成,key的值是严格按照顺序存储的。块大小默认为64K(由建表时创建cf时指定或者HColumnDescriptor.setBlockSize(size)),这一部分可以压缩存储。在查询数据时,是以数据块为单位从硬盘loa 阅读详情

ØHFile文件不定长,长度固定的块只有两个:Trailer和FileInfo。
ØHFile写到硬盘时,Trailer被写到最后。 Trailer中指针指向其他数据块的起始点。
ØFile Info中记录了文件的一些Meta信息,例如:AVG_KEY_LEN, AVG_VALUE_LEN, LAST_KEY, COMPARATOR, MAX_SEQ_ID_KEY等
ØData Index和Meta Index块记录了每个Data块和Meta块的起始点
ØData Block是HBase I/O的基本单元,为了提高效率,HRegionServer中有基于LRU的Block Cache机制
Ø每个Data Block的大小可以在创建一个Table的时候通过参数指定,大号的Block有利于顺序Scan,小号Block利于随机查询
Ø每个Data Block除了开头的Magic以外就是一个个KeyValue对拼接而成, Magic内容就是一些随机数字,目的是防止数据损坏
HFile里面的每个KeyValue对就是一个简单的byte数组。这个byte数组里面包含了很多项,并且有固定的结构。

ØKeyLength和ValueLength:两个固定的长度,分别代表Key和Value的长度
ØKey部分
Row Length是固定长度的数值,表示RowKey的长度,Row就是RowKey
Column Family Length是固定长度的数值,表示Family的长度,接着就是Column Family,再接着是Qualifier,然后是两个固定长度的数值,表示Time Stamp和Key Type(Put/Delete)Value部分没有这么复杂的结构,就是纯粹的二进制数据
HFile 中的数据块大小默认为 64KB。如果访问 HBase 数据库的场景多为有序的访问,那么建议将该值设置的大一些。如果场景多为随机访问,那么建议将该值设置的小一些。一般情况下,通过调整该值可以提高 HBase 的性能。

HBase高性能随机查询之道 – HFile原理解析 在各色数据库系统百花齐放的今天,能让大家铭记的,往往是一个数据库所能带给大家的差异化能力。正如梁宁老师的产品思维课程中所讲到的,这是一个数据库系统所能带给产品使用者的"确定性"。差异化能力通常需要从数据库底层开始构筑,而数据存储方式显得至关重要,因为它直接关乎数据写入与读取的效率。在一个系统中,这两方面的能力需要进行很好的权衡:如果设计有利于数据的快速写入,可能意味着查询时需要需要花费较大的精力去... 阅读详情

相关推荐

[Hbase] Hbase优化之禁用wal以及Hfile应

1、WAL:write-ahead log 预写日志 灾难恢复,一旦服务器崩溃,通过重放log,即可恢复之前的数据(内存中还没有刷写到磁盘的数据);如果写入wal操作失败,整个操作就认为是失败。 因此,如果开启wal机制,写操作性能会降低; 如果关闭wal机制,数据在内存中未刷写到磁盘时,server突然宕机,产生数据丢失。 解决办法:不开启wal机制,手工刷新memstore的数据...

大数据基础入门教程 2406

hbase中的HFile文件格式详解

1.HFile详解 HFile文件分为以下六大部分 序号 名称 描述 1 数据块 由多个block(块)组成,每个块的格式为: [块头] + [key长] + [value长] + [key] + [value]。 2 元数据块 元数据是

HBase-0.90.5源码阅读 9146

利用Spark Rdd生成Hfile直接导入到Hbase

针对大批量插入Hbase的场景,如果单条记录插入的时候效率比较低下,如果可以利用Rdd生成Hfile的话,然后利用Bulk Load导入Hfile的话,则会大大提升导入的速度,废话不说,直接上代码: 1.利用Create创建表blog:create 'blog' ,'article' 2.创建数据文件 blog.txt                3.上传文件至hdfs 备注:

wl044090432的博客 1万+

HFile存储格式

HBase中的所有数据文件都存储在Hadoop HDFS文件系统上,主要包括上述提出的两种文件类型:     1. HFile, HBase中KeyValue数据的存储格式,HFile是Hadoop的二进制格式文件,实际上StoreFile就是对HFile做了轻量级包装,即St

kannju的专栏 692

深入剖析HBase HFile原理:文件结构、Block协作与缓存机制

HFile是HBase基于Google BigTable的SSTable(Sorted String Table)优化实现的存储文件,采用二进制格式持久化存储,具有以下核心特性:数据按Key有序排列(RowKey → ColumnFamily → Qualifier → Timestamp),支持高效的顺序扫描与二分查找。采用Block分块存储,将文件划分为多个固定大小(默认64KB,可配置)的Block,便于缓存管理与随机读写。内置索引与布隆过滤器,大幅减少磁盘I/O,提升随机读性能。支持。

u013127325的博客 1140

HBASE中HFile结构-你真的知道Hbase怎么查数据?

HBASE 中 HFile结构 序 since: 2021年4月14日 22:45 auth: Hadi Hfile Hbase 的数据以HFile的形式存在HDFS,以下则是HBase的数据存储逻辑结构: NameSpace > Table > Region > CF > HFile 而HFile则是: Hfile > Trailer > Load-on-open > bloom Index > Block Data >Root Index &

青冬的博客 1144

Spark RDD生成HFile快速导入数据到HBase

Spark RDD生成HFile快速导入数据到HBase主要思路通过观察hbase regionserver对put操作的处理,可以发现,数据首先写入到 memstore,在达到指定大小后会调用StoreFile的Writer类将数据flush到存储设 备中,如果开启过压缩算法则会先执行相应的压缩,得到压缩后的数据和数据结 构再进行写入。 通过观察HBase的StoreFileWriter,

qq_28890765的博客 3288

银河麒麟V10 SP3离线安装Nginx1.21.5全记录(附11个rpm包下载清单)

本文详细记录了在银河麒麟V10 SP3操作系统上离线安装Nginx 1.21.5的全过程,包括11个必备rpm包的下载清单。通过分步骤的实战指南,帮助用户在国产化环境中高效部署Nginx服务,涵盖安装、配置、调优及故障排查等关键环节,特别适合金融、政务等对安全性要求高的场景。

weixin_30872337的博客 609

HBase BulkLoad 详解:HFile 生成、BulkLoad 流程与海量数据快速导入

本文深入探讨 HBase BulkLoad 机制,详细解析 HFile 格式与生成原理,完整介绍 BulkLoad 流程,并提供性能优化技巧和实战案例,帮助读者掌握海量数据高效导入 HBase 的方法。

✨ 欢迎来到【Seal ^_^ 的优快云博客】!✨ 654

Java实现双色球&大乐透随机选号算法——原理详解与代码实战

掌握核心语法:集合操作、随机数生成、排序。贴近实际场景:将编程知识应用于生活问题的解决。

wangchl0932的博客 4990

用树莓派Pico低成本更新USB-C PD控制器固件实战指南

固件更新是嵌入式系统开发与维护中的核心环节,它直接决定了硬件设备的功能、性能与兼容性。其原理通常是通过特定的通信接口(如SWD、JTAG、UART或USB)与设备内部的Bootloader建立连接,将新的程序代码安全写入非易失性存储器。在USB Power Delivery(PD)和Type-C生态中,固件更新技术尤为重要,它能修复协议握手Bug、适配新设备并提升供电策略的灵活性。本文聚焦于一个典型的工程实践场景:如何利用广泛普及且成本极低的树莓派Pico开发板,作为USB-C协议到I²C协议的转换桥,实现

weixin_27869497的博客 463

hbase架构原理之region、memstore、hfile、hlog、columm-family、colum、cell

**鄙人的新书《elasticsearch7完全开发指南》,欢迎订阅!** ----- https://wenku.baidu.com/view/8ff2ce94591b6bd97f192279168884868762b8e7 **《kibana权威指南》** ---- https://wenku.baidu.com/view/24cfee1ce43a580216fc700abb68a98270...

zhaojianting的博客 2万+

Fluent基于低氧舱气体交换仿真(氮气与空气混合)

一、背景概述 模拟低氧舱充氮气和排除混合气体的过程,假设注入95%的氮气,舱内原有气体为空气,压力为标准大气压,温度为300K。观察气体注入过程中,舱内平均氮气和氧气浓度的变化。 二、Fluent设置 Setup 1、General type选择压力基 绝对速度 瞬态 重力勾选 2、Model 能量方程开启 组分运输开启,设置方法如下: 选择后OK,view就会变成Edit,点击Edit。然后再次点击Edit。 将组分中的非氮气氧气和空气的气体移除,右边选项需要将空气放在最后一位。 3、Materi

qq_35535616的博客 1万+

hbase原理之Hfile篇

HFile的内部结构? HBase读文件细粒度的过程? HBase随机读写快除了MemStore之外的原因? Hbase的数据以HFile的形式存在HDFS, 物理存储路径是: NameSpace->Table->Region->CF->HFile 这一篇我们来说下这个HFile,把路径从HFile开始再补充一下 HFile->Block->Ke...

breakout_alex的博客 839

uniapp - 超详细的 H5 公众号网页微信登录示例代码,提供从 0-1 公众号配置及详细注释代码(站在新手小白的角度)第三方微信授权登录的实现!!

uniapp微信浏览器H5授权微信登录,UniApp开发H5接入微信登录的全过程,uniapp的H5页面使用微信登录,uniapp H5微信授权登录,H5之微信授权登陆 (uniapp网页版微信授权登录),uni-app开发H5第三方微信授权登录的实现,uniapp如何实现微信授权登录,公众号H5页面接入微信登录流程,uni-app - 最详细 H5 网页接入微信登录功能,提供公众号配置与详细注释示例代码(移动端网页实现点击登录按钮后 调用微信公众号授权登录功能 详细讲解接入流程与详细示例代码)官方最新超级

✅ 精选推荐文章 1万+

一文搞懂YOLO各版本差异:v5易用、v8多任务、v10低延迟,该怎么选?

YOLOv5的“易用”是为了降低入门门槛,适合新手启蒙和旧项目维护;YOLOv8的“多任务”是为了满足工业需求,成为目前的主流版本;YOLOv10的“低延迟”是为了适配边缘计算,代表未来的发展趋势。选型的核心不是“选最新的”,而是“选最适合自己场景的”。记住选型口诀,按场景对号入座,就能避开99%的坑。希望这篇文章能帮你彻底搞懂各版本差异,选对属于自己的YOLO版本!

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1170

hbase hfile文件格式 详解

 [value]。 2 元数据块 元数据是key-value类型的值,但元数据快只保存元数据的value值,元数据的key值保存在第五项(元数据索引块)中。   该块由多个元数据值组成。 3 fileInfo块 该块保存与HFile相关的一些信息。   fileInfo是以key值排序key-value类型的值。基本格式为: keyValue元素的个数 + (key + value类型id + value) + (key + value类型id + value) +

1584

2025年12月GESP真题及题解(C++一级): 小杨的爱心快递

2025年12月GESP真题及题解(C++一级): 小杨的爱心快递

王老师青少年编程 1659

Hbase---hfile

Hbase---hfile

Y521316的博客 1752

selenium绕过检测,规避检测

现在不少大网站有对selenium采取了监测机制。比如正常情况下我们用浏览器访问淘宝等网站的 window.navigator.webdriver的值为 undefined或者为false。而使用selenium访问则该值为true。那么如何解决这个问题呢?我们正常浏览器登录查看,window.navigator.webdriver的值为false我们通过selenium打开的网页,测试,可见window.navigator.webdriver的值为true。

景天科技苑 1万+

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

MapReduce生成HFile入库到HBase

个人小站,正在持续整理中,欢迎访问:http://shitouer.cn 小站博文地址:MapReduce生成HFile入库到HBase 一、这种方式有很多的优点: 1. 如果我们一次性入库hbase巨量数据,处理速度慢不说,还特别占用Region资源, 一个比较高效便捷的方法就是使用 “Bulk Loading”方法,即HBase提供的HFileOutputFormat类。 2...

depe16540458的博客 303

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

hbase hfile java_HBase之HFile解析

Sumary:ProtobufBinarySearch本篇主要讲HFileV2的相关内容,包括HFile的构成、解析及怎么样从HFile中快速找到相关的KeyValue.基于Hbase 0.98.1-hadoop2,本文大部分参考了官方的资源,大家可以先阅读下这篇官方文档,Reference Guide:http://hbase.apache.org/book/apes03.html。其实也就是跟...

weixin_39844515的博客 472

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

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

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

HBase – 探索HFile索引机制

本文由网易云发布。 作者:范欣欣 01HFile索引结构解析 HFile中索引结构根据索引层级的不同分为两种:single-level和mutil-level,前者表示单层索引,后者表示多级索引,一般为两级或三级。HFile V1版本中只有single-level一种索引结构,V2版本中引入多级索引。之所以引入多级索引,是因为随着HFile文件越来越大,Data Block越来越多...

Diana的博客 241

HBase MemStore与HFile深度解析:内存刷写策略与读取优化实践

本文深入剖析HBase核心存储组件MemStore与HFile的内部工作机制,详细解析内存刷写策略、Compaction过程以及读取路径优化方法,帮助读者理解HBase如何平衡内存与磁盘IO,实现高性能随机读写。

✨ 欢迎来到【Seal ^_^ 的优快云博客】!✨ 369

java hfile_HFile存储格式

HBase中的所有数据文件都存储在HadoopHDFS文件系统上,主要包括两种文件类型:1. HFile, HBase中KeyValue数据的存储格式,HFile是Hadoop的二进制格式文件,实际上StoreFile就是对HFile做了轻量级包装,即StoreFile底层就是HFile2. HLog File,HBase中WAL(Write Ahead Log)的存储格式,物理上是Hadoop的...

weixin_36035610的博客 1324
上一篇: hbase快速入门之---系统架构
下一篇: hbase快速入门之---region定位过程
Java_Soldier
博客等级 码龄10年 27粉丝 82原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值