SHOW CREATE TABLE
Возвращает команду CREATE TABLE, которая использовалась для создания указанной таблицы.
ПРИМЕЧАНИЕ
В версиях до v1.5.2 команда SHOW CREATE TABLE требует наличия привилегии
SELECT_PRIVна таблицу. Начиная с v1.5.2, команда SHOW CREATE TABLE требует наличия привилег ииSELECTна таблицу.
Начиная с v1.5.2, вы можете использовать команду SHOW CREATE TABLE для просмотра команд CREATE TABLE для таблиц, управляемых внешним catalog и хранящихся в Apache Hive™, Apache Iceberg, Apache Hudi или Delta Lake.
Начиная с v1.5.2, Selena может автоматически устанавливать количество buckets (BUCKETS) при создании таблицы или добавлении partition. Вам больше не нужно вручную устанавливать количество buckets. Подробную информацию см. в разделе set the number of buckets.
- Если вы указали количество buckets при создании таблицы, вывод SHOW CREATE TABLE отобразит количество buckets.
- Если вы не указали количество buckets при создании таблицы, вывод SHOW CREATE TABLE не отобразит количество buckets. Вы можете выполнить SHOW PARTITIONS, чтобы просмотреть количество buckets для каждого partition.
В версиях до v1.5.2 требуется устанавливать количество buckets при создании таблицы. Поэтому SHOW CREATE TABLE по умолчанию отображает количество buckets.
Синтаксис
SHOW CREATE TABLE [db_name.]table_name
Параметры
| Параметр | Обязательный | Описание |
|---|---|---|
| db_name | Нет | Имя базы данных. Если этот параметр не указан, по умолчанию возвращается команда CREATE TABLE для указанной таблицы в вашей текущей базе данных. |
| table_name | Да | Имя таблицы. |
Вывод
+-----------+----------------+
| Table | Create Table |
+-----------+----------------+
В следующей таблице описаны параметры, возвращаемые этой командой.
| Параметр | Описание |
|---|---|
| Table | Имя таблицы. |
| Create Table | Команда CREATE TABLE для таблицы. |
Примеры
Количество buckets не указано
Создайте таблицу с именем example_table без указания количества buckets в DISTRIBUTED BY.
CREATE TABLE example_table
(
k1 TINYINT,
k2 DECIMAL(10, 2) DEFAULT "10.5",
v1 CHAR(10) REPLACE,
v2 INT SUM
)
ENGINE = olap
AGGREGATE KEY(k1, k2)
COMMENT "my first selena table"
DISTRIBUTED BY HASH(k1);
Выполните SHOW CREATE TABLE для отображения команды CREATE TABLE для example_table. Количество buckets не отображается в DISTRIBUTED BY. Обратите внимание, что если вы не указали PROPERTIES при создании таблицы, в выводе SHOW CREATE TABLE отображаются свойства по умолчанию.
SHOW CREATE TABLE example_table\G
*************************** 1. row ***************************
Table: example_table
Create Table: CREATE TABLE `example_table` (
`k1` tinyint(4) NULL COMMENT "",
`k2` decimal64(10, 2) NULL DEFAULT "10.5" COMMENT "",
`v1` char(10) REPLACE NULL COMMENT "",
`v2` int(11) SUM NULL COMMENT ""
) ENGINE=OLAP
AGGREGATE KEY(`k1`, `k2`)
COMMENT "my first selena table"
DISTRIBUTED BY HASH(`k1`)
PROPERTIES (
"replication_num" = "3",
"in_memory" = "false",
"enable_persistent_index" = "true",
"replicated_storage" = "true",
"compression" = "LZ4"
);
Количество buckets указано
Создайте таблицу с именем example_table1 с к оличеством buckets, установленным в 10 в DISTRIBUTED BY.
CREATE TABLE example_table1
(
k1 TINYINT,
k2 DECIMAL(10, 2) DEFAULT "10.5",
v1 CHAR(10) REPLACE,
v2 INT SUM
)
ENGINE = olap
AGGREGATE KEY(k1, k2)
COMMENT "my first selena table"
DISTRIBUTED BY HASH(k1) BUCKETS 10;
Выполните SHOW CREATE TABLE для отображения команды CREATE TABLE для example_table. Количество buckets (BUCKETS 10) отображается в DISTRIBUTED BY. Обратите внимание, что если вы не указали PROPERTIES при создании таблицы, в выводе SHOW CREATE TABLE отображаются свойства по умолчанию.
SHOW CREATE TABLE example_table1\G
*************************** 1. row ***************************
Table: example_table1
Create Table: CREATE TABLE `example_table1` (
`k1` tinyint(4) NULL COMMENT "",
`k2` decimal64(10, 2) NULL DEFAULT "10.5" COMMENT "",
`v1` char(10) REPLACE NULL COMMENT "",
`v2` int(11) SUM NULL COMMENT ""
) ENGINE=OLAP
AGGREGATE KEY(`k1`, `k2`)
COMMENT "my first selena table"
DISTRIBUTED BY HASH(`k1`) BUCKETS 10
PROPERTIES (
"replication_num" = "3",
"in_memory" = "false",
"enable_persistent_index" = "true",
"replicated_storage" = "true",
"compression" = "LZ4"
);