如何从Bash
或Hive CLI
确定Hive的数据库大小?
hdfs
中也可以使用 hadoop
和Bash
命令。
答案 0 :(得分:2)
hive中的数据库是元数据存储 - 意味着它包含有关表的信息并具有默认位置。如果在创建表时指定hdfs
,则数据库中的表也可以存储在location
中的任何位置。
您可以使用show tables
中的Hive CLI
命令查看数据库中的所有表。
然后,对于每个表格,您可以使用hdfs
在describe formatted <table name>
中找到其位置(再次在Hive CLI
中)。
最后,对于每个表格,您可以使用hdfs dfs -du -s -h /table/location/
我认为没有一个命令来衡量数据库所有表的大小总和。但是,编写一个自动执行上述步骤的脚本应该相当容易。也可以使用bash CLI
hive -e '<hive command>'
调用Hive
答案 1 :(得分:0)
在HDFS上显示Hive数据库
sudo hadoop fs -ls /apps/hive/warehouse
显示Hive数据库大小
sudo hadoop fs -du -s -h /apps/hive/warehouse/{db_name}
答案 2 :(得分:0)
如果您希望完整数据库的大小在“仓库”
上运行hdfs dfs -du -h /apps/hive/warehouse
这将为您提供仓库中每个数据库的大小
如果您想要特定数据库中的表大小:
hdfs dfs -du -h /apps/hive/warehouse/<db_name>
在hive-site.xml上运行“grep仓库”以查找仓库路径