Hive下查看表占用空间大小的方法

一、Hive下查看数据表信息的方法
方法1:查看表的字段信息
desc table_name;


方法2:查看表的字段信息及元数据存储路径
desc extended table_name;

方法3:查看表的字段信息及元数据存储路径
desc formatted table_name;

备注:查看表元数据存储路径是,推荐方法3,信息比较清晰。

二、查看表容量大小
查看该表总容量大小,单位为G

$ hadoop fs -du /user/hive/warehouse/table_name|awk '{ SUM += $1 } END { print SUM/(1024*1024*1024)}'

#/bin/bash/

dbs=$(hadoop fs -ls /user/hive/warehouse | awk '{print $8}')

for db in $dbs
do
  db_size=$(hadoop fs -du $db|awk '{ SUM += $1 } END { print SUM }')
  echo "数据库 $db 占用空间为:$db_size"
  echo "$db:$db_size" >> db_result.csv
  echo "统计库:$db"
  str=""
  if (echo "$db" | grep -q -E '\.db$') && !([[ $str =~ "$db" ]])
  then
 
    tables=$(hadoop fs -ls "$db" | awk '{print $8}')
    for table in $tables
    do
      echo "统计表:$table"
      size=$(hadoop fs -du $table|awk '{ SUM += $1 } END { print SUM }')
      echo "表 $table 占用空间为:$size"
      echo "表 $table 占用空间为:$size" >> tb_result.csv
    done 

   else
    echo "false"
   fi

done 

 

posted @ 2022-11-29 14:10  葫芦杯  阅读(1821)  评论(0编辑  收藏  举报