数据存储方式为s3的HBase文件夹结构

HBase folder structure with data storage mode as s3

我使用 HBase 和 Phoenix 设置了一个 EMR 集群来批量加载数据。指定的存储模式是s3。 我想知道根文件夹中 s3 中区域和列族的位置?批量加载完成后,S3 根文件夹的一般结构是什么?谁能帮我解决这个问题。

在常规设置中(当您的 HBase 数据位于 HDFS 中时)您应该会在 HDFS 中看到 HBase 的以下目录结构:

/hbase/data/default/TableName/RegionID/ColumFamily

这是假设您的 table 没有名称空间(否则名称空间应该存在而不是 'default')。

所以,在/hbase/data/default中你应该有很多文件夹,每个文件夹对应你在HBase中的table。

并且在每个 TableName 文件夹中,您应该有很多文件夹,每个文件夹对应于 table 中的一个区域。 (区域 ID 通常只是像这样的长 ID:49920919fc726446ec73c111a99f00f0)

然后,在每个区域子文件夹中,您应该有一个对应于列族的文件夹。

最后,在该文件夹中,您将看到实际的 HFile(刷新数据后)。

我怀疑当您的 HBase 数据位于 S3 而不是 HDFS 时这应该有什么不同,但我自己从未使用过 S3。只需浏览以上文件夹结构即可。