一、Hive下查看数据表信息的方法
方法1:查看表的字段信息
desc table_name;
方法2:查看表的字段信息及元数据存储路径
desc extended table_name;
方法3:查看表的字段信息及元数据存储路径
desc formatted table_name;
示例输出:
hive> desc formatted wmp_events_dw_parquet;
OK
# col_name data_type comment
app_id int
open_id string
event_category string
event_action string
event_label string
event_value int
event_version string
event_time date
# Partition Information
# col_name data_type comment
cst_date date
# Detailed Table Information
Database: default
Owner: hadoop
CreateTime: Thu Aug 22 07:44:25 UTC 2019
LastAccessTime: UNKNOWN
Retention: 0
Location: hdfs://HOST/user/hive/warehouse/wmp_events_dw_parquet
Table Type: MANAGED_TABLE
Table Parameters:
numFiles 21910
numPartitions 49
numRows 0
rawDataSize 0
spark.sql.create.version 2.3.2
spark.sql.partitionProvider catalog
spark.sql.sources.provider parquet
spark.sql.sources.schema.numPartCols 1
spark.sql.sources.schema.numParts 1
spark.sql.sources.schema.part.0 {\"type\":\"struct\",\"fields\":[{\"name\":\"app_id\",\"type\":\"integer\",\"nullable\":true,\"metadata
\":{}},{\"name\":\"open_id\",\"type\":\"string\",\"nullable\":true,\"metadata\":{}},{\"name\":\"event_category\",\"type\":\"string\",\"nullable
\":true,\"metadata\":{}},{\"name\":\"event_action\",\"type\":\"string\",\"nullable\":true,\"metadata\":{}},{\"name\":\"event_label\",\"type\":\
"string\",\"nullable\":true,\"metadata\":{}},{\"name\":\"event_value\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{}},{\"name\":\"even
t_version\",\"type\":\"string\",\"nullable\":true,\"metadata\":{}},{\"name\":\"event_time\",\"type\":\"date\",\"nullable\":true,\"metadata\":{}
},{\"name\":\"cst_date\",\"type\":\"date\",\"nullable\":true,\"metadata\":{}}]}
spark.sql.sources.schema.partCol.0 cst_date
totalSize 42330770
transient_lastDdlTime 1566459865
# Storage Information
SerDe Library: org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe
InputFormat: org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat
OutputFormat: org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat
Compressed: No
Num Buckets: -1
Bucket Columns: []
Sort Columns: []
Storage Desc Params:
path hdfs://HOST/user/hive/warehouse/wmp_events_dw_parquet
serialization.format 1
Time taken: 0.322 seconds, Fetched: 50 row(s)
方法4:查看建表语句及其他详细信息的方法
show create table table_name;
备注:查看表元数据存储路径时,推荐方法3,信息比较清晰。
二、查看表容量大小
方法1:查看一个hive表文件总大小时(单位为Byte),可以通过一行脚本快速实现,其命令如下:
查看普通表的容量
[hs@master ~]$ hadoop fs -ls /path/to/table |awk -F ' ' '{print $5}'|awk '{a+=$1}END{print a}'
[hs@master ~]$ hadoop fs -ls /path/to/table |awk -F ' ' '{print $5}'|awk '{a+=$1}END{print a/(1024*1024*1024)}'
这样可以省去自己相加,下面命令是列出该表的详细文件列表
[hs@master ~]$ hadoop fs -ls /path/to/table
统计文件详细数目
[hs@master ~]$ hadoop fs -ls /path/to/table | wc -l
查看分区表的容量
[hs@master ~]$ hadoop fs -ls /path/to/table/yyyymm=201601|awk -F ' ' '{print $5}'|awk '{a+=$1}END {print a/(1024*1024*1024)}'
这样可以省去自己相加,下面命令是列出该表的详细文件列表
[hs@master ~]$ hadoop fs -ls /path/to/table/yyyymm=201601
方法2:查看该表总容量大小,单位为G
[hs@master ~]$ hadoop fs -du /path/to/table | awk ' { SUM += $1 } END { print SUM/(1024*1024*1024) }'
如果需要以MB为单位,可以更改最后面的公式,改为
SUM/(1024*1024)
FYI: