Where does hbase store data files for namespace/tables? I've found this post : How Hbase write its data and where but I need a full path location, just to separate privileges to different namespaces.
In Hive files are in hive_warehouse_path/database/table/partition and I'm looking for the same but in Hbase.
Can you help?
regards Pawel
Edit: By the way, I've found an interesting slideshow about file structure in HBase: http://www.slideshare.net/enissoz/hbase-and-hdfs-understanding-filesystem-usage
HRegionServer: All data in HBase is generally stored in HDFS from the bottom layer. Users can obtain this data through a series of HRegionServers.
There are no data types in HBase; data is stored as byte arrays in the cells of HBase table. The content or the value in cell is versioned by the timestamp when the value is stored in the cell. So each cell of an HBase table may contain multiple versions of data.
HBase internally uses Hash tables and provides random access, and it stores the data in indexed HDFS files for faster lookups.
If you want to view or display all the namespaces available in HBase, then you can use the list_namespace command in HBase.
Under ${base.rootdir}/data
we have subdirectories related to namespaces and table names.
For example
Let's say we have this configuration in hbase-site.xml
<property>
<name>hbase.rootdir</name>
<value>hdfs://hadoop:8020/apps/hbase</value>
</property>
And we have namespace MyFirstNamespace with tables MyTable1, MyTable2 so the directory structure on hdfs will be:
/apps/hbase/data/MyFirstNamespace/MyTable1
/apps/hbase/data/MyFirstNamespace/MyTable2
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With