我的Hbase shell上有多个表,我想复制到我的文件系统中。有些表超过100GB。但是,我的本地文件系统中只剩下55gb可用空间。因此,我想知道我的hbase表的大小,以便我只能导出小型表。任何建议都表示赞赏。
谢谢, gautham
答案 0 :(得分:24)
试
hdfs dfs -du -h /hbase/data/default/
(或/ hbase /取决于您使用的hbase版本)
这将显示表格文件的使用空间。
希望这会有所帮助。
答案 1 :(得分:7)
对于0.98+尝试hadoop fs -du -s -h $hbase_root_dir/data/data/$schema_name/
(或/ hbase /为0.94)
您可以从群集的hbase-site.xml文件中找到hbase_root_dir。 上面的命令将为您提供每个表使用的磁盘摘要。
答案 2 :(得分:3)
使用 du
用法:hdfs dfs -du [-s] [-h] URI [URI …]
显示给定目录中包含的文件和目录的大小或文件的长度,以防它只是一个文件。
选项:
-s选项将导致显示文件长度的汇总摘要,而不是单个文件。
-h选项将以“人类可读”的方式格式化文件大小(例如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