我现在正在通过 hbase shell 查看包含 126 个区域的表。但我无法找出在创建表期间手动定义了多少区域。我可以执行任何查询并获取该详细信息吗?
问问题
175 次
1 回答
2
不确定我是否得到了您想要的东西,但可能您可以为此目的使用区域时间创建。在您的 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')"}
于 2016-08-03T11:39:56.923 回答