hbase中存储的hbase命名空间/表数据在哪里?

时间:2014-07-24 13:27:32

标签: hadoop hbase

hbase在哪里存储命名空间/表的数据文件? 我发现了这篇文章:How Hbase write its data and where但我需要一个完整的路径位置,只是为了将权限分隔到不同的命名空间。

在Hive文件中有hive_warehouse_path / database / table / partition,我在Hbase中寻找相同的文件。

你能帮忙吗?

问候 的Pawel

编辑:顺便说一句,我发现了一个关于HBase文件结构的有趣幻灯片:http://www.slideshare.net/enissoz/hbase-and-hdfs-understanding-filesystem-usage

3 个答案:

答案 0 :(得分:7)

${base.rootdir}/data下,我们有与命名空间和表名相关的子目录。

例如 假设我们在hbase-site.xml

中有这个配置
 <property>
      <name>hbase.rootdir</name>
      <value>hdfs://hadoop:8020/apps/hbase</value>
 </property>

我们的命名空间MyFirstNamespace包含表MyTable1,MyTable2,因此hdfs上的目录结构将为:

/apps/hbase/data/MyFirstNamespace/MyTable1
/apps/hbase/data/MyFirstNamespace/MyTable2

答案 1 :(得分:3)

base.rootdirhbase-site.xml中的配置参数hbase-default.xml告诉HBase在HDFS中写入的位置。来自the documentation

  

hbase.rootdir

     

区域服务器共享的目录以及HBase持久存在的目录。该网址应该是完全合格的&#39;包括   文件系统方案。例如,要指定HDFS目录&#39; / hbase&#39;   HDFS实例的namenode在namenode.example.org上运行的位置   在端口9000上,将此值设置为:   HDFS://namenode.example.org:9000 / HBase的。默认情况下,我们写信给   无论如何设置$ {hbase.tmp.dir} - 通常是/ tmp - 所以改变它   配置,否则机器重启时会丢失所有数据。

Default. ${hbase.tmp.dir}/hbase

答案 2 :(得分:1)

Hbase表的命名空间将存储在此位置的元文件夹中:

<强> / HBase的/数据/ HBase的/命名空间/字母数字 - 数字 - 文件夹名称/信息/字母数字文件名称

此特定文件将包含名称空间。