我正在通过hbase shell查看一个包含126个区域的表。但我无法确定在创建表的过程中手动定义了多少区域。有什么查询我可以执行并获得详细信息吗?
zyfwsgd61#
不确定我是否得到了您想要的,但是您可能可以使用区域时间创建来实现这个目的。在hdfs文件系统中,hbase数据以以下格式存储:
hbase /<Table> (Tables in the cluster) /<Region> (Regions for the table) /<ColumnFamiy> (ColumnFamilies for the Region for the table) /<StoreFile> (StoreFiles for the ColumnFamily for the Regions for the table)
因此,您可以使用hdfs dfs-ls命令来获取表中所有区域的列表。您可以比较区域的创建日期,以了解历史记录,可能还有在创建表时设置的区域数:
hdfs dfs -ls /hbase/database/tablename/ drwxr-xr-x - hbase hdfs 0 2016-07-27 12:36 /hbase/database/tablename/9d7c14813bfd871ccb10cf60d972787c drwxr-xr-x - hbase hdfs 0 2016-07-29 11:47 /hbase/database/tablename/f1cf0c45568153f35a03a183b6a096fa
此外,您可以尝试通过shell访问hbase的元数据名称空间,以获取有关表的一些信息,但它会给您时间戳,对我个人来说,与纯日期相比,您的案例中的哪个选项更复杂:
scan 'hbase:meta',{COLUMNS=> 'info:regioninfo', FILTER=>"PrefixFilter('yourtable')"}
1条答案
按热度按时间zyfwsgd61#
不确定我是否得到了您想要的,但是您可能可以使用区域时间创建来实现这个目的。在hdfs文件系统中,hbase数据以以下格式存储:
因此,您可以使用hdfs dfs-ls命令来获取表中所有区域的列表。您可以比较区域的创建日期,以了解历史记录,可能还有在创建表时设置的区域数:
此外,您可以尝试通过shell访问hbase的元数据名称空间,以获取有关表的一些信息,但它会给您时间戳,对我个人来说,与纯日期相比,您的案例中的哪个选项更复杂: