Перейти к основному содержимому

DESC

DESC используется для просмотра схем таблиц:

  • Просмотр схемы таблицы, хранящейся в вашем кластере Selena, вместе с типом ключа сортировки и материализованного представления таблицы.
  • Просмотр схемы таблицы, хранящейся в следующих внешних источниках данных, таких как Apache Hive™. Обратите внимание, что эту операцию можно выполнять только в Selena версии 2.4 и более поздних.

Синтаксис

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

Параметры

ПараметрОбязательныйОписание
catalog_nameНетИмя внутреннего catalog или внешнего catalog.
  • Если вы установите значение параметра равным имени внутреннего catalog, которое является default_catalog, вы можете просмотреть схему таблицы, хранящейся в вашем кластере Selena.
  • Если вы установите значение параметра равным имени внешнего catalog, вы можете просмотреть схему таблицы, хранящейся во внешнем источнике данных.
db_nameНетИмя базы данных.
table_nameДаИмя таблицы.
ALLНет
  • Если это ключевое слово указано, вы можете просмотреть тип ключа сортировки, материализованное представление и схему таблицы, хранящейся в вашем кластере Selena. Если это ключевое слово не указано, вы просматриваете только схему таблицы.
  • Не указывайте это ключевое слово при просмотре схемы таблицы, хранящейся во внешнем источнике данных.
FILESНетТабличная функция FILES(). Начиная с версии 1.5.0, вы можете использовать DESC с FILES() для просмотра информации о схеме файлов, хранящихся в удаленном хранилище. Подробную информацию см. в Справочнике функций - 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
  • Если вы просматриваете схему таблицы, хранящейся в вашем кластере Selena, это поле отображает следующую информацию о столбце:
    • Агрегатная функция, используемая столбцом, такая как SUM и MIN.
    • Создан ли bloom filter индекс для столбца. Если да, значение Extra равно BLOOM_FILTER.
  • Если вы просматриваете схему таблицы, хранящейся во внешних источниках данных, это поле отображает, является ли столбец столбцом разделения. Если столбец является столбцом разделения, значение Extra равно partition key.

Примечание: Информацию о том, как материализованное представление отображается в выводе, см. в Примере 2.

Примеры

Пример 1: Просмотр схемы example_table, хранящейся в вашем кластере Selena.

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

Пример 2: Просмотр схемы, типа ключа сортировки и материализованного представления sales_records, хранящихся в вашем кластере Selena. В следующем примере одно материализованное представление store_amt создано на основе 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 |
+---------------+---------------+-----------+--------+------+-------+---------+-------+

Пример 3: Просмотр схемы hive_table, хранящейся в вашем кластере Hive.

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

Пример 4: Просмотр схемы parquet файла lineorder, хранящегося в AWS S3.

ПРИМЕЧАНИЕ

Для файлов, хранящихся в удаленном хранилище, DESC возвращает только три поля: Field, Type и 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)

Ссылки