HFile的Data块

问题描述

看到Hbase权威指南:HFile结构的前端有若干个Data块,默认是64KB,这些Data块的大小可以被用户设置,就是使用HColumnDescripter设置。可以看到图里面每个Data块的结构是前面一个Magic,后边跟着若干个key-value.问题:1.假如我有一个img列族,里面只有一个列img:content,每张图片大概514KB,那么这个HFile的结构是什么样子的?2.如果使用HColumnDescripter把块大小改成576KB,是不是表示每个Data块的大小为576KB?3.每张图片存在一个cell里面,也就是key-value对,但其实我是想设置每个key-value对的大小为576KB,所以这样的话是不是每个Data块只能有一个key-value?PS:这个应用大都是批量顺序读写,几乎没有随机读写的需求。

解决方案

本帖最后由 xdryhp164 于 2015-10-01 10:15:07 编辑
解决方案二:
hbase配置里的hbase.client.keyvalue.maxsize,默认大小为10M,这个keyvalue的大小与我上面问题中的keyvalue的大小有什么区别和联系吗?

时间: 2024-08-28 23:06:58

HFile的Data块的相关文章

HBase – 存储文件HFile结构解析

HFile是HBase存储数据的文件组织形式,参考BigTable的SSTable和Hadoop的TFile实现.从HBase开始到现在,HFile经历了三个版本,其中V2在0.92引入,V3在0.98引入.HFileV1版本的在实际使用过程中发现它占用内存多,HFile V2版本针对此进行了优化,HFile V3版本基本和V2版本相同,只是在cell层面添加了Tag数组的支持.鉴于此,本文主要针对V2版本进行分析,对V1和V3版本感兴趣的同学可以参考其他信息. HFile逻辑结构 HFile

HBase – 探索HFile索引机制

HFile索引结构解析 HFile中索引结构根据索引层级的不同分为两种:single-level和mutil-level,前者表示单层索引,后者表示多级索引,一般为两级或三级.HFile V1版本中只有single-level一种索引结构,V2版本中引入多级索引.之所以引入多级索引,是因为随着HFile文件越来越大,Data Block越来越多,索引数据也越来越大,已经无法全部加载到内存中(V1版本中一个Region Server的索引数据加载到内存会占用几乎6G空间),多级索引可以只加载部分索

HBase基础

Hbase简介 HBase-Hadoop Database,是一个高可用性,面向列,可伸缩的分布式存储系统,利用HBase技术可在廉价的PC Server上搭建起大规模 结构化存储集群. HBase是Google Bigtable的开源实现,类似Google Bigtable利用GFS作为其文件存储系统,HBase利用Hadoop HDFS作为其文件存储系统:Google运行MapReduce来处理Bigtable中的海量数据,HBase同样利用Hadoop MapReduce来处理HBase中

HBase技术架构介绍

HBase简介 HBase – Hadoop Database,是一个高可靠性.高性能.面向列.可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群. HBase是Google Bigtable的开源实现,类似Google Bigtable利用GFS作为其文件存储系统,HBase利用Hadoop HDFS作为其文件存储系统:Google运行MapReduce来处理Bigtable中的海量数据,HBase同样利用Hadoop MapReduce来处理HB

深入HBase架构解析(一)

前记 公司内部使用的是MapR版本的Hadoop生态系统,因而从MapR的官网看到了这篇文文章:An In-Depth Look at the HBase Architecture,原本想翻译全文,然而如果翻译就需要各种咬文嚼字,太麻烦,因而本文大部分使用了自己的语言,并且加入了其他资源的参考理解以及本人自己读源码时对其的理解,属于半翻译.半原创吧. HBase架构组成 HBase采用Master/Slave架构搭建集群,它隶属于Hadoop生态系统,由一下类型节点组成:HMaster节点.HR

HBase笔记:存储结构

从HBase的架构图上可以看出,HBase中的存储包括HMaster.HRegionServer.HRegion.Store.MemStore.StoreFile.HFile.HLog等,本篇文章统一介绍他们的作用即存储结构. 以下是网络上流传的HBase存储架构图: HBase中的每张表都通过行键按照一定的范围被分割成多个子表(HRegion),默认一个HRegion超过256M就要被分割成两个,这个过程由HRegionServer管理,而HRegion的分配由HMaster管理. HMast

hbase 学习(十六)系统架构图

HBase 系统架构图 组成部件说明 Client:   使用HBase RPC机制与HMaster和HRegionServer进行通信    Client与HMaster进行通信进行管理类操作    Client与HRegionServer进行数据读写类操作    Zookeeper:   Zookeeper Quorum存储-ROOT-表地址.HMaster地址    HRegionServer把自己以Ephedral方式注册到Zookeeper中,HMaster随时感知各个HRegionS

HBase技术介绍

HBase简介 HBase – Hadoop Database,是一个高可靠性.高性能.面向列.可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群. HBase是Google Bigtable的开源实现,类似Google Bigtable利用GFS作为其文件存储系统,HBase利用Hadoop HDFS作为其文件存储系统:Google运行MapReduce来处理Bigtable中的海量数据,HBase同样利用Hadoop MapReduce来处理HB

HBase 系统架构

HBase 系统架构 HBase是Apache Hadoop的数据库,能够对大型数据提供随机.实时的读写访问.HBase的目标是存储并处理大型的数据.HBase是一个开源的,分布式的,多版本的,面向列的存储模型.它存储的是松散型数据. HBase特性: 1 高可靠性 2 高效性 3 面向列 4 可伸缩 5 可在廉价PC Server搭建大规模结构化存储集群 HBase是Google BigTable的开源实现,其相互对应如下:   Google HBase 文件存储系统 GFS HDFS 海量数