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