跳到主要内容
版本:Latest-3.3

DESC

功能

您可以使用该语句进行如下操作:

  • 查看 StarRocks 表结构、排序键 (Sort Key) 类型和物化视图
  • 查看外部数据源(如 Apache Hive™)中的表结构。仅 StarRocks 2.4 及以上版本支持该操作。

语法

DESC[RIBE] { [[<catalog_name>.]<db_name>.]<table_name> [ALL] | FILES(files_loading_properties) }

参数说明

参数必选说明
catalog_nameInternal catalog 或 external catalog 的名称。
  • 如指定 internal catalog 名称,即 default_catalog,则查看当前 StarRocks 集群的指定表结构。
  • 如指定 external catalog 名称,则查看外部数据源的指定表结构。
db_name数据库名称。
table_name表名称。
ALL
  • 如要查看 StarRocks 表的排序键类型和物化视图,则指定该关键字;如只查看 StarRocks 表结构,则可以不指定。
  • 如查看外部数据源表结构,不能指定该关键词。
FILESFILES() 表函数。自 v3.3.4 起,您可以使用 DESC 和 FILES() 查看远端存储中文件的 Schema 信息。详细信息,参考 Function reference - FILES()

返回信息说明

+-----------+---------------+-------+------+------+-----+---------+-------+
| IndexName | IndexKeysType | Field | Type | Null | Key | Default | Extra |
+-----------+---------------+-------+------+------+-----+---------+-------+

返回信息中的参数说明:

参数说明
IndexName表名。如查看外部数据源表结构,则不返回该参数。
IndexKeysType表的排序键类型。如查看外部数据源表结构,则不返回该参数。
Field列名。
Type列的数据型。
Null是否允许为 NULL。
  • yes: 表示允许为 NULL。
  • no:表示不允许为 NULL。
Key是否为排序键。
  • true: 表示为排序键。
  • false:表示不为排序键。
Default数据类型的默认值。如该数据类型没有默认值,则返回 NULL。
Extra
  • 如果是查看 StarRocks 表结构,该参数会根据情况返回以下信息:
    • 该列使用了哪种聚合函数,如 SUM 和 MIN。
    • 该列是否创建了 bloom filter 索引。如创建,则追加显示 BLOOM_FILTER
  • 如果是查看外部数据源表结构,该参数会显示该列是否为分区键 (partition column)。如是,则显示 partition key

说明:有关物化视图的展示,请参见示例二。

示例

示例一:查看 StarRocks 的 example_table 表结构信息。

DESC example_table;

DESC default_catalog.example_db.example_table;

返回信息如下:

+-------+---------------+------+-------+---------+-------+
| 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 | |
+-------+---------------+------+-------+---------+-------+

示例二:查看 StarRocks 的 sales_records 表结构、排序键类型和物化视图。如下所示, sales_records 表只有一张物化视图 store_amt

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 |
+---------------+---------------+-----------+--------+------+-------+---------+-------+

示例三:查看 Hive 中 hive_table 表结构。

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 |
+-------+----------------+------+-------+---------+---------------+

示例四:使用 DESC 查看 AWS S3 中 Parquet 文件 lineorder 的 Schema 信息。

说明

对于远端存储中的文件,DESC 仅返回以下三列:FieldType 以及 Null

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)

相关文档