Hbase储存再hdfs上,这是hbase的具体文件夹
-
.hbck
:这是 HBase 的hbase-hbck
工具生成的目录,用于存储修复 HBase 表的信息。hbase-hbck
工具用于检查和修复 HBase 表的一致性和完整性。 -
.tmp
:这是一个临时目录,通常用于临时存储数据或文件,以便后续处理。在 HBase 中,它可能用于一些临时数据的存储或操作。 -
MasterData
:这是 HBase Master 节点的数据目录,用于存储 Master 节点的状态信息和元数据。 -
WALs
:这是 Write-Ahead Logs(WALs)的缩写,用于存储 HBase 的编辑日志,记录了所有表的变更操作。这个目录存储了 HBase 中的持久化数据变更。 -
archive
:这是一个归档目录,可能用于存储过去的数据备份或归档数据。通常,这里存储了一些旧版本的数据。 -
corrupt
:这个目录通常用于存储损坏或不可用的数据块或文件。这些文件可能已损坏或发生错误,无法正常使用。 -
data
:这是 HBase 存储实际数据的目录,包含了 HBase 表的数据块和列簇。这是 HBase 中最重要的目录之一,存储了用户数据。 -
hbase.id
:这个文件包含了 HBase 实例的唯一标识符或ID。它用于标识 HBase 集群中的不同实例。 -
hbase.version
:这个文件包含了 HBase 版本的信息,包括版本号等。 -
mobdir
:这个目录通常与 HBase 的 MOB(Medium Object)存储相关,用于存储 MOB 类型的数据。MOB 是一种用于存储大型二进制对象的机制。 -
oldWALs
:这是旧的 Write-Ahead Logs(WALs)的存储目录,通常用于存储旧版本的编辑日志。 -
staging
:这是一个临时存储目录,通常用于执行一些临时操作或数据迁移。
data下面每个命名空间都是一个文件夹
其中上面两个是默认就有的,下面这个是我自定义的命名空间
每张表都是一个文件夹
.tabledesc
:与 HBase 表的描述信息有关。通常,HBase 表的描述信息包括表的结构、列族信息、数据编码方式等。.tabledesc
包含了与表相关的元数据或描述数据。
下面则是具体数据
-
.regioninfo
:.regioninfo
文件是 Apache HBase 中用于存储 HRegion 的元数据的文件。在 HBase 中,数据被划分为多个区域(regions),每个区域对应一个.regioninfo
文件。这些区域文件实际上是存储在 HDFS(Hadoop分布式文件系统)上的,而不是本地文件系统。每个
.regioninfo
文件包含有关特定区域的元数据信息,这些信息包括但不限于:-
Region Name: 区域的唯一标识符,通常是一个哈希值。
-
Start Key: 区域的起始键。
-
End Key: 区域的结束键。
-
Region ID: 区域的唯一标识符。
-
Table Name: 区域所属的表的名称。
-
Timestamp: 区域创建的时间戳。
这些元数据信息对于 HBase 的区域分割和数据定位非常重要。HBase会根据这些信息来确定数据应该存储在哪个区域,以及如何进行区域的拆分和合并操作。
.regioninfo
文件通常由 HBase 自动管理,用户不需要直接编辑或操作这些文件。这些文件位于 HBase 表的.META.
表中,HBase Master 和 Region Servers 使用这些信息来协调数据的读取和写入操作。 -
-
recovered.edits
:recovered.edits
是 Apache Hadoop HDFS(分布式文件系统)中的一个文件,通常与 HBase(基于 Hadoop 的分布式数据库)相关。它包含了 HBase 的编辑日志(edit log)的恢复部分。HBase 的编辑日志是一种记录了所有表的变更操作(如插入、更新、删除等)的日志。这个日志用于保证数据的一致性和持久性,以便在节点故障或其他故障发生时能够还原数据。
recovered.edits
文件通常在 HBase 的数据目录中,用于存储在 HBase Master 启动或重新启动时,从编辑日志中恢复尚未持久化到 HFile(HBase存储文件)中的数据变更。这有助于确保在 Master 节点发生故障时,不会丢失尚未应用的数据变更。在 HBase 运行时,编辑日志和
recovered.edits
文件的管理是由 HBase 自动完成的,用户不需要直接处理这些文件。 -
score
和teacher,info
:是我自定义的列族,每个列族都是一个目录,而字段名和值都是储存在一个文件中,因此字段名和值都是离散的。
从上面的结构分析可以看出要想查找到一个值,必须从命名空间->表名->列族名,因为列是离散的因此hbase给出了rowkey来查找每一个cell,而不是关系型数据库中通过列名来查找值
这里可以看出列名和值为什么的离散化储存的
标签:文件,存储,目录,探究,用于,Hbase,数据,HBase,结构 From: https://www.cnblogs.com/liyiyang/p/17690034.html