【问题标题】:Can we check size of Hive tables? If so, how?我们可以检查 Hive 表的大小吗?如果是这样,怎么做?
【发布时间】:2020-01-28 14:51:47
【问题描述】:

我在 Hive 中有 许多表,并且怀疑这些表的大小导致集群出现空间问题。有没有办法一次性检查 Hive 表的大小?如果是这样,怎么做?我们可以使用 Tblproperties 或 tbldescription。但它对一张桌子很有用。为每个表运行相同的命令很乏味。我正在寻找一种方法来运行命令并获取所有必需的信息。输出应包括以下字段: 数据库名称: 表名: 总尺寸: 数字文件: 分区数: 行数: 原始数据大小: PS:以前的方法适用于一个表。
有什么帮助吗?

【问题讨论】:

    标签: hadoop hive hql hiveql hue


    【解决方案1】:

    据我所知,没有单一命令可以实现您正在寻找的结果。

    您可以编写自定义脚本

    1. 获取数据库列表hive -e "SHOW DATABASES" > db_list_file
    2. 遍历数据库列表以获取各个数据库中的所有表hive -e "SHOW TABLES" > table_list_file
    3. 在所有表上运行DESCRIBE EXTENDED ${db}.${tble},解析输出以获取表的路径
    4. 如果所有文件都在 HDFS 中,您可以获得hdfs dfs -du -s <list of hdfs files> 的大小

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 2017-11-14
      • 2012-04-08
      • 2021-06-30
      • 1970-01-01
      • 2017-09-26
      • 2019-01-04
      • 2011-01-21
      • 2020-01-21
      • 2011-04-22
      相关资源
      最近更新 更多