首页
Linux教程
Linux资讯
Linux入门
Linux运维
Linux系统
Linux服务器
Linux安全
Linux问答
SHELL
树莓派
正则
linux命令
安装
Linux监控
运维自动化
Ansible
Piwik
CentOS
Deepin
Ubuntu
Debian
FreeBSD
Nginx
Apache
openresty
Tengine
宝塔
SSH
页面位置:
Linuxboy
>
服务器教程
>
云计算
>
正文
Hadoop hbase
hbase存储格式,hbase存储
文章由LinuxBoy分享于2019-03-27 09:03:37
热评(161)
hbase存储格式,hbase存储
HBase
中的所有数据文件都存储在Hadoop HDFS文件系统上,主要包括上述提出的两种文件类型:
1. HFile
, HBase中KeyValue数据的存储格式,HFile是Hadoop的二进制格式文件,实际上StoreFile就是对HFile做了轻量级包装,即StoreFile底层就是HFile
2. HLog File
,HBase中WAL(Write Ahead Log) 的存储格式,物理上是Hadoop的Sequence File
HFile
下图是HFile的存储格式:
首先HFile文件是不定长的,长度固定的只有其中的两块:Trailer和FileInfo。正如图中所示的,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块的大小可以在创建一个Table的时候通过参数指定,大号的Block有利于顺序Scan,小号Block利于随机查询。每个Data块除了开头的Magic以外就是一个个KeyValue对拼接而成, Magic内容就是一些随机数字,目的是防止数据损坏。后面会详细介绍每个KeyValue对的内部构造。
HFile
里面的每个KeyValue对就是一个简单的byte数组。但是这个byte数组里面包含了很多项,并且有固定的结构。我们来看看里面的具体结构:
开始是两个固定长度的数值,分别表示Key的长度和Value的长度。紧接着是Key,开始是固定长度的数值,表示RowKey的长度,紧接着是RowKey,然后是固定长度的数值,表示Family的长度,然后是Family,接着是Qualifier,然后是两个固定长度的数值,表示Time Stamp和Key Type(Put/Delete)。Value部分没有这么复杂的结构,就是纯粹的二进制数据了。
HLogFile
上图中示意了HLog文件的结构,其实HLog文件就是一个普通的Hadoop Sequence File,Sequence File 的Key是HLogKey对象,HLogKey中记录了写入数据的归属信息,除了table和region名字外,同时还包括 sequence number和timestamp,timestamp是“写入时间”,sequence number的起始值为0,或者是最近一次存入文件系统中sequence number。
HLog Sequece File
的Value是HBase的KeyValue对象,即对应HFile中的KeyValue,可参见上文描述。
更多精彩内容请关注:http://bbs.superwu.cn
关注超人学院微信二维码:
相关内容
Hadoop之——VMware Virtual Ethernet Adapter for VMnet1和8在windo
zookeeper注意几点,zookeeper
Hadoop源代码分析(包mapreduce.lib.input),hadoopmapreduce
hadoop初级班(一),hadoop初级班(
RedHadoop创始人童小军在北京开讲“Hadoop2.0集群优化与管
mapreduce job所需要的各种参数在Sqoop中的实现,mapreduce
Hadoop之——HDFS随笔,hadoophdfs
Hadoop实战 Hadoop Pipes运行C++程序问题解决,hadooppipes
hadoop distcp使用,hadoopdistcp
Hadoop之——HDFS,hadoophdfs
今日最新
推荐文章:
Hadoop之——VMware Virtual Ethernet Adapter for VMnet
zookeeper注意几点,zookeeper
Hadoop源代码分析(包mapreduce.lib.input),hado
hadoop初级班(一),hadoop初级班(
RedHadoop创始人童小军在北京开讲“Hadoop2.0集群
mapreduce job所需要的各种参数在Sqoop中的实现,
评论暂时关闭
最新云计算教程
hbase存储格式,hbase存储
hive---数值计算,hive---数值
Hadoop之——VMware Virtual Ethernet
zookeeper注意几点,zookeeper
Hadoop源代码分析(包mapreduce.li
hadoop初级班(一),hadoop初级班
Linux头条
深入讲解Hadoop管道,讲解hadoop管
网络基础知识讲座十五:OSPF路由
中小企业网络管理必备手册:揭
无限共享 无线Wi-Fi直连
IPv6普及在即 Big DNS时代即将到来
在DOS中快速进入深层文件
评论暂时关闭