如何确定我的 HBase 表的大小?。有没有命令可以这样做?

How do I determine the size of my HBase Tables ?. Is there any command to do so?

我的 Hbase shell 上有多个表,我想将它们复制到我的文件系统中。有些表超过 100gb。但是,我的本地文件系统中只剩下 55gb space 可用空间。因此,我想知道我的 hbase 表的大小,以便我可以只导出小型表。任何建议表示赞赏。

谢谢, 高瑟姆

尝试 hdfs dfs -du -h /hbase/data/default/(或 /hbase/ 取决于您使用的 hbase 版本)

这将显示您的表格文件使用了多少space。

希望对您有所帮助。

对于 0.98+ 尝试 hadoop fs -du -s -h $hbase_root_dir/data/data/$schema_name/(或 /hbase/ 对于 0.94)

您可以从集群的 hbase-site.xml 文件中找到 hbase_root_dir。 上面的命令将为您提供每个 table.

使用的磁盘摘要

使用du

用法:hdfs dfs -du [-s] [-h] URI [URI …]

显示给定目录中包含的文件和目录的大小或文件的长度(如果它只是一个文件)。

选项:

-s 选项将导致显示文件长度的汇总摘要,而不是单个文件。

-h 选项将以 "human-readable" 方式格式化文件大小(例如 64.0m 而不是 67108864)

示例:

hdfs dfs -du -h /hbase/data/default

我的输出:

1.2 M    /hbase/data/default/kylin_metadata
14.0 K   /hbase/data/default/kylin_metadata_acl
636      /hbase/data/default/kylin_metadata_user
5.6 K    /hbase/data/default/test