DESCRIBE TABLE
Description
DESCRIBE TABLE
statement returns the basic metadata information of a
table. The metadata information includes column name, column type
and column comment. Optionally a partition spec or column name may be specified
to return the metadata pertaining to a partition or column respectively.
Syntax
{ DESC | DESCRIBE } [ TABLE ] [ format ] table_identifier [ partition_spec ] [ col_name ]
Parameters
format
- Specifies the optional format of describe output. If `EXTENDED` is specified then additional metadata information (such as parent database, owner, and access time) is returned.
table_identifier
-
Specifies a table name, which may be optionally qualified with a database name.
Syntax:[ database_name. ] table_name
partition_spec
-
An optional parameter that specifies a comma separated list of key and value pairs
for partitions. When specified, additional partition metadata is returned.
Syntax:PARTITION ( partition_col_name = partition_col_val [ , ... ] )
col_name
-
An optional parameter that specifies the column name that needs to be described.
The supplied column name may be optionally qualified. Parameters `partition_spec`
and `col_name` are mutually exclusive and can not be specified together. Currently
nested columns are not allowed to be specified.
Syntax:[ database_name. ] [ table_name. ] column_name
Examples
-- Creates a table `customer`. Assumes current database is `salesdb`.
CREATE TABLE customer(
cust_id INT,
state VARCHAR(20),
name STRING COMMENT 'Short name'
)
USING parquet
PARTITION BY state;
;
-- Returns basic metadata information for unqualified table `customer`
DESCRIBE TABLE customer;
+-----------------------+---------+----------+
|col_name |data_type|comment |
+-----------------------+---------+----------+
|cust_id |int |null |
|name |string |Short name|
|state |string |null |
|# Partition Information| | |
|# col_name |data_type|comment |
|state |string |null |
+-----------------------+---------+----------+
-- Returns basic metadata information for qualified table `customer`
DESCRIBE TABLE salesdb.customer;
+-----------------------+---------+----------+
|col_name |data_type|comment |
+-----------------------+---------+----------+
|cust_id |int |null |
|name |string |Short name|
|state |string |null |
|# Partition Information| | |
|# col_name |data_type|comment |
|state |string |null |
+-----------------------+---------+----------+
-- Returns additional metadata such as parent database, owner, access time etc.
DESCRIBE TABLE EXTENDED customer;
+----------------------------+------------------------------+----------+
|col_name |data_type |comment |
+----------------------------+------------------------------+----------+
|cust_id |int |null |
|name |string |Short name|
|state |string |null |
|# Partition Information | | |
|# col_name |data_type |comment |
|state |string |null |
| | | |
|# Detailed Table Information| | |
|Database |salesdb | |
|Table |customer | |
|Owner |<table owner> | |
|Created Time |Fri Aug 30 09:26:04 PDT 2019 | |
|Last Access |Wed Dec 31 16:00:00 PST 1969 | |
|Created By |<spark version> | |
|Type |MANAGED | |
|Provider |parquet | |
|Location |file:.../salesdb.db/customer | |
|Serde Library |...serde.ParquetHiveSerDe | |
|InputFormat |...MapredParquetInputFormat | |
|OutputFormat |...MapredParquetOutputFormat | |
+----------------------------+------------------------------+----------+
-- Returns partition metadata such as partitioning column name, column type and comment.
DESCRIBE TABLE customer PARTITION (state = 'AR');
+--------------------------------+-----------------------------------------+----------+
|col_name |data_type |comment |
+--------------------------------+-----------------------------------------+----------+
|cust_id |int |null |
|name |string |Short name|
|state |string |null |
|# Partition Information | | |
|# col_name |data_type |comment |
|state |string |null |
| | | |
|# Detailed Partition Information| | |
|Database |salesdb | |
|Table |customer | |
|Partition Values |[state=AR] | |
|Location |file:.../salesdb.db/customer/state=AR | |
|Serde Library |...serde.ParquetHiveSerDe | |
|InputFormat |...parquet.MapredParquetInputFormat | |
|OutputFormat |...parquet.MapredParquetOutputFormat | |
|Storage Properties |[path=file:.../salesdb.db/customer, | |
| | serialization.format=1] | |
|Partition Parameters |{rawDataSize=-1, numFiles=1l, | |
| | transient_lastDdlTime=1567185245, | |
| | totalSize=688, | |
| | COLUMN_STATS_ACCURATE=false, numRows=-1}| |
|Created Time |Fri Aug 30 10:14:05 PDT 2019 | |
|Last Access |Wed Dec 31 16:00:00 PST 1969 | |
|Partition Statistics |688 bytes | |
+--------------------------------+-----------------------------------------+----------+
-- Returns the metadata for `name` column.
-- Optional `TABLE` clause is omitted and column is fully qualified.
DESCRIBE customer salesdb.customer.name;
+---------+----------+
|info_name|info_value|
+---------+----------+
|col_name |name |
|data_type|string |
|comment |Short name|
+---------+----------+