DESC
Description
You can use the statement to perform the following operations:
- View the schema of a table stored in your StarRocks cluster, along with the type of the sort key and materialized view of the table.
- View the schema of a table stored in the following external data sources, such as Apache Hive™. Note that you can perform this operation only in StarRocks 2.4 and later versions.
Syntax
DESC[RIBE] { [[<catalog_name>.]<db_name>.]<table_name> [ALL] | FILES(files_loading_properties) }
Parameters
Parameter | Required | Description |
---|---|---|
catalog_name | No | The name of the internal catalog or an external catalog.
|
db_name | No | The database name. |
table_name | Yes | The table name. |
ALL | No |
|
FILES | No | The FILES() table function. From v3.3.4 onwards, you can use DESC with FILES() to view the schema information of files stored in remote storage. For detailed information, see Function reference - FILES(). |
Output
+-----------+---------------+-------+------+------+-----+---------+-------+
| IndexName | IndexKeysType | Field | Type | Null | Key | Default | Extra |
+-----------+---------------+-------+------+------+-----+---------+-------+
The following table describes the parameters returned by this statement.
Parameter | Description |
---|---|
IndexName | The table name. If you view the schema of a table stored in an external data source, this parameter is not returned. |
IndexKeysType | The type of the sort key of the table. If you view the schema of a table stored in an external data source, this parameter is not returned. |
Field | The column name. |
Type | The data type of the column. |
Null | Whether the column values can be NULL.
|
Key | Whether the column is used as the sort key.
|
Default | The default value for the data type of the column. If the data type does not have a default value, a NULL is returned. |
Extra |
|
Note: For information about how a materialized view is displayed in the output, see Example 2.
Examples
Example 1: View the schema of example_table
stored in your StarRocks cluster.
DESC example_table;
Or
DESC default_catalog.example_db.example_table;
The output of the preceding statements is as follows.
+-------+---------------+------+-------+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------------+------+-------+---------+-------+
| k1 | TINYINT | Yes | true | NULL | |
| k2 | DECIMAL(10,2) | Yes | true | 10.5 | |
| k3 | CHAR(10) | Yes | false | NULL | |
| v1 | INT | Yes | false | NULL | |
+-------+---------------+------+-------+---------+-------+
Example 2: View the schema, type of the sort key, and materialized view of sales_records
stored in your StarRocks cluster. In the following example, one materialized view store_amt
is created based on sales_records
.
DESC db1.sales_records ALL;
+---------------+---------------+-----------+--------+------+-------+---------+-------+
| IndexName | IndexKeysType | Field | Type | Null | Key | Default | Extra |
+---------------+---------------+-----------+--------+------+-------+---------+-------+
| sales_records | DUP_KEYS | record_id | INT | Yes | true | NULL | |
| | | seller_id | INT | Yes | true | NULL | |
| | | store_id | INT | Yes | true | NULL | |
| | | sale_date | DATE | Yes | false | NULL | NONE |
| | | sale_amt | BIGINT | Yes | false | NULL | NONE |
| | | | | | | | |
| store_amt | AGG_KEYS | store_id | INT | Yes | true | NULL | |
| | | sale_amt | BIGINT | Yes | false | NULL | SUM |
+---------------+---------------+-----------+--------+------+-------+---------+-------+
Example 3: View the schema of hive_table
stored in your Hive cluster.
DESC hive_catalog.hive_db.hive_table;
+-------+----------------+------+-------+---------+---------------+
| Field | Type | Null | Key | Default | Extra |
+-------+----------------+------+-------+---------+---------------+
| id | INT | Yes | false | NULL | |
| name | VARCHAR(65533) | Yes | false | NULL | |
| date | DATE | Yes | false | NULL | partition key |
+-------+----------------+------+-------+---------+---------------+
Example 4: View the schema of parquet file lineorder
stored in AWS S3.
NOTE
For files stored in remote storage, DESC only returns three fields:
Field
,Type
, andNull
.
DESC FILES(
"path" = "s3://inserttest/lineorder.parquet",
"format" = "parquet",
"aws.s3.access_key" = "AAAAAAAAAAAAAAAAAAAA",
"aws.s3.secret_key" = "BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB",
"aws.s3.region" = "us-west-2"
);
+------------------+------------------+------+
| Field | Type | Null |
+------------------+------------------+------+
| lo_orderkey | int | YES |
| lo_linenumber | int | YES |
| lo_custkey | int | YES |
| lo_partkey | int | YES |
| lo_suppkey | int | YES |
| lo_orderdate | int | YES |
| lo_orderpriority | varchar(1048576) | YES |
| lo_shippriority | int | YES |
| lo_quantity | int | YES |
| lo_extendedprice | int | YES |
| lo_ordtotalprice | int | YES |
| lo_discount | int | YES |
| lo_revenue | int | YES |
| lo_supplycost | int | YES |
| lo_tax | int | YES |
| lo_commitdate | int | YES |
| lo_shipmode | varchar(1048576) | YES |
+------------------+------------------+------+
17 rows in set (0.05 sec)