SHOW 문
SHOW 문 (SHOW Statements)
SHOW 문은 카탈로그, 데이터베이스, 테이블과 뷰, 컬럼, 함수, 모듈 등 해당 부모 안의 객체를 나열하는 데 사용합니다. SHOW CREATE 문은 주어진 객체를 생성할 수 있는 DDL 문을 출력하는 데 사용합니다.
출처: 문서
본문
SHOW 문은 해당 부모(parent) 안의 객체(카탈로그, 데이터베이스, 테이블과 뷰, 컬럼, 함수, 모듈 등)를 나열하는 데 사용합니다. 자세한 내용과 추가 옵션은 각 명령을 참고하세요.
SHOW CREATE 문은 주어진 객체를 생성할 수 있는 DDL 문을 출력하는 데 사용합니다. 현재 'SHOW CREATE' 문은 주어진 테이블과 뷰의 DDL 문을 출력하는 데만 사용할 수 있습니다.
Flink SQL은 현재 다음 SHOW 문을 지원합니다:
- SHOW CATALOGS
- SHOW CURRENT CATALOG
- SHOW CREATE CATALOG
- SHOW DATABASES
- SHOW CURRENT DATABASE
- SHOW TABLES
- SHOW CREATE TABLE
- SHOW COLUMNS
- SHOW PARTITIONS
- SHOW PROCEDURES
- SHOW VIEWS
- SHOW CREATE VIEW
- SHOW MATERIALIZED TABLES
- SHOW CREATE [OR ALTER ]MATERIALIZED TABLE
- SHOW FUNCTIONS
- SHOW MODULES
- SHOW JARS
- SHOW JOBS
- SHOW MODELS
SHOW 문 실행 (Run a SHOW statement)
SHOW 문은 TableEnvironment의 executeSql() 메서드로 실행할 수 있습니다. executeSql() 메서드는 성공적인 SHOW 연산에 대해 객체를 반환하며, 그렇지 않으면 예외를 던집니다. SQL CLI에서는 SQL CLI에서 SHOW 문을 실행할 수 있습니다.
Java:
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
StreamTableEnvironment tEnv = StreamTableEnvironment.create(env);
// show catalogs
tEnv.executeSql("SHOW CATALOGS").print();
// +-----------------+
// | catalog name |
// +-----------------+
// | default_catalog |
// +-----------------+
// show current catalog
tEnv.executeSql("SHOW CURRENT CATALOG").print();
// +----------------------+
// | current catalog name |
// +----------------------+
// | default_catalog |
// +----------------------+
// create a catalog
tEnv.executeSql("CREATE CATALOG cat2 WITH (...)");
// show create catalog
tEnv.executeSql("SHOW CREATE CATALOG cat2").print();
// +---------------------------------------------------------------------------------------------+
// | result |
// +---------------------------------------------------------------------------------------------+
// | CREATE CATALOG `cat2` WITH (
// 'default-database' = 'db',
// 'type' = 'generic_in_memory'
// )
// |
// +---------------------------------------------------------------------------------------------+
// 1 row in set
// show databases
tEnv.executeSql("SHOW DATABASES").print();
// +------------------+
// | database name |
// +------------------+
// | default_database |
// +------------------+
// show current database
tEnv.executeSql("SHOW CURRENT DATABASE").print();
// +-----------------------+
// | current database name |
// +-----------------------+
// | default_database |
// +-----------------------+
// create a table
tEnv.executeSql("CREATE TABLE my_table (...) WITH (...)");
// show tables
tEnv.executeSql("SHOW TABLES").print();
// +------------+
// | table name |
// +------------+
// | my_table |
// +------------+
// show create table
tEnv.executeSql("SHOW CREATE TABLE my_table").print();
// CREATE TABLE `default_catalog`.`default_db`.`my_table` (
// ...
// ) WITH (
// ...
// )
// show columns
tEnv.executeSql("SHOW COLUMNS FROM my_table LIKE '%f%'").print();
// +--------+-------+------+-----+--------+-----------+
// | name | type | null | key | extras | watermark |
// +--------+-------+------+-----+--------+-----------+
// | field2 | BYTES | true | | | |
// +--------+-------+------+-----+--------+-----------+
// create a view
tEnv.executeSql("CREATE VIEW my_view AS SELECT * FROM my_table");
// show views
tEnv.executeSql("SHOW VIEWS").print();
// +-----------+
// | view name |
// +-----------+
// | my_view |
// +-----------+
// show create view
tEnv.executeSql("SHOW CREATE VIEW my_view").print();
// CREATE VIEW `default_catalog`.`default_db`.`my_view`(`field1`, `field2`, ...) as
// SELECT *
// FROM `default_catalog`.`default_database`.`my_table`
// show functions
tEnv.executeSql("SHOW FUNCTIONS").print();
// +---------------+
// | function name |
// +---------------+
// | mod |
// | sha256 |
// | ... |
// +---------------+
// create a user defined function
tEnv.executeSql("CREATE FUNCTION f1 AS ...");
// show user defined functions
tEnv.executeSql("SHOW USER FUNCTIONS").print();
// +---------------+
// | function name |
// +---------------+
// | f1 |
// | ... |
// +---------------+
// show modules
tEnv.executeSql("SHOW MODULES").print();
// +-------------+
// | module name |
// +-------------+
// | core |
// +-------------+
// show full modules
tEnv.executeSql("SHOW FULL MODULES").print();
// +-------------+-------+
// | module name | used |
// +-------------+-------+
// | core | true |
// | hive | false |
// +-------------+-------+
Scala:
val env = StreamExecutionEnvironment.getExecutionEnvironment()
val tEnv = StreamTableEnvironment.create(env)
// show catalogs
tEnv.executeSql("SHOW CATALOGS").print()
// +-----------------+
// | catalog name |
// +-----------------+
// | default_catalog |
// +-----------------+
// create a catalog
tEnv.executeSql("CREATE CATALOG cat2 WITH (...)")
// show create catalog
tEnv.executeSql("SHOW CREATE CATALOG cat2").print()
// +---------------------------------------------------------------------------------------------+
// | result |
// +---------------------------------------------------------------------------------------------+
// | CREATE CATALOG `cat2` WITH (
// 'default-database' = 'db',
// 'type' = 'generic_in_memory'
// )
// |
// +---------------------------------------------------------------------------------------------+
// 1 row in set
// show databases
tEnv.executeSql("SHOW DATABASES").print()
// +------------------+
// | database name |
// +------------------+
// | default_database |
// +------------------+
// create a table
tEnv.executeSql("CREATE TABLE my_table (...) WITH (...)")
// show tables
tEnv.executeSql("SHOW TABLES").print()
// +------------+
// | table name |
// +------------+
// | my_table |
// +------------+
// show create table
tEnv.executeSql("SHOW CREATE TABLE my_table").print()
// CREATE TABLE `default_catalog`.`default_db`.`my_table` (
// ...
// ) WITH (
// ...
// )
// show columns
tEnv.executeSql("SHOW COLUMNS FROM my_table LIKE '%f%'").print()
// +--------+-------+------+-----+--------+-----------+
// | name | type | null | key | extras | watermark |
// +--------+-------+------+-----+--------+-----------+
// | field2 | BYTES | true | | | |
// +--------+-------+------+-----+--------+-----------+
// create a view
tEnv.executeSql("CREATE VIEW my_view AS SELECT * FROM my_table")
// show views
tEnv.executeSql("SHOW VIEWS").print()
// +-----------+
// | view name |
// +-----------+
// | my_view |
// +-----------+
// show create view
tEnv.executeSql("SHOW CREATE VIEW my_view").print();
// CREATE VIEW `default_catalog`.`default_db`.`my_view`(`field1`, `field2`, ...) as
// SELECT *
// FROM `default_catalog`.`default_database`.`my_table`
// show functions
tEnv.executeSql("SHOW FUNCTIONS").print()
// +---------------+
// | function name |
// +---------------+
// | mod |
// | sha256 |
// | ... |
// +---------------+
// create a user defined function
tEnv.executeSql("CREATE FUNCTION f1 AS ...")
// show user defined functions
tEnv.executeSql("SHOW USER FUNCTIONS").print()
// +---------------+
// | function name |
// +---------------+
// | f1 |
// | ... |
// +---------------+
// show modules
tEnv.executeSql("SHOW MODULES").print()
// +-------------+
// | module name |
// +-------------+
// | core |
// +-------------+
// show full modules
tEnv.executeSql("SHOW FULL MODULES").print()
// +-------------+-------+
// | module name | used |
// +-------------+-------+
// | core | true |
// | hive | false |
// +-------------+-------+
Python:
table_env = StreamTableEnvironment.create(...)
# show catalogs
table_env.execute_sql("SHOW CATALOGS").print()
# +-----------------+
# | catalog name |
# +-----------------+
# | default_catalog |
# +-----------------+
# create a catalog
table_env.execute_sql("CREATE CATALOG cat2 WITH (...)")
# show create catalog
table_env.execute_sql("SHOW CREATE CATALOG cat2").print()
# +---------------------------------------------------------------------------------------------+
# | result |
# +---------------------------------------------------------------------------------------------+
# | CREATE CATALOG `cat2` WITH (
# 'default-database' = 'db',
# 'type' = 'generic_in_memory'
# )
# |
# +---------------------------------------------------------------------------------------------+
# 1 row in set
# show databases
table_env.execute_sql("SHOW DATABASES").print()
# +------------------+
# | database name |
# +------------------+
# | default_database |
# +------------------+
# create a table
table_env.execute_sql("CREATE TABLE my_table (...) WITH (...)")
# show tables
table_env.execute_sql("SHOW TABLES").print()
# +------------+
# | table name |
# +------------+
# | my_table |
# +------------+
# show create table
table_env.executeSql("SHOW CREATE TABLE my_table").print()
# CREATE TABLE `default_catalog`.`default_db`.`my_table` (
# ...
# ) WITH (
# ...
# )
# show columns
table_env.execute_sql("SHOW COLUMNS FROM my_table LIKE '%f%'").print()
# +--------+-------+------+-----+--------+-----------+
# | name | type | null | key | extras | watermark |
# +--------+-------+------+-----+--------+-----------+
# | field2 | BYTES | true | | | |
# +--------+-------+------+-----+--------+-----------+
# create a view
table_env.execute_sql("CREATE VIEW my_view AS SELECT * FROM my_table")
# show views
table_env.execute_sql("SHOW VIEWS").print()
# +-----------+
# | view name |
# +-----------+
# | my_view |
# +-----------+
# show create view
table_env.execute_sql("SHOW CREATE VIEW my_view").print()
# CREATE VIEW `default_catalog`.`default_db`.`my_view`(`field1`, `field2`, ...) as
# SELECT *
# FROM `default_catalog`.`default_database`.`my_table`
# show functions
table_env.execute_sql("SHOW FUNCTIONS").print()
# +---------------+
# | function name |
# +---------------+
# | mod |
# | sha256 |
# | ... |
# +---------------+
# create a user defined function
table_env.execute_sql("CREATE FUNCTION f1 AS ...")
# show user defined functions
table_env.execute_sql("SHOW USER FUNCTIONS").print()
# +---------------+
# | function name |
# +---------------+
# | f1 |
# | ... |
# +---------------+
# show modules
table_env.execute_sql("SHOW MODULES").print()
# +-------------+
# | module name |
# +-------------+
# | core |
# +-------------+
# show full modules
table_env.execute_sql("SHOW FULL MODULES").print()
# +-------------+-------+
# | module name | used |
# +-------------+-------+
# | core | true |
# | hive | false |
# +-------------+-------+
SQL CLI:
Flink SQL> SHOW CATALOGS;
default_catalog
Flink SQL> CREATE CATALOG cat2 WITH (...);
[INFO] Execute statement succeeded.
Flink SQL> SHOW CREATE CATALOG cat2;
CREATE CATALOG `cat2` WITH (
...
)
Flink SQL> SHOW DATABASES;
default_database
Flink SQL> CREATE TABLE my_table (...) WITH (...);
[INFO] Table has been created.
Flink SQL> SHOW TABLES;
my_table
Flink SQL> SHOW CREATE TABLE my_table;
CREATE TABLE `default_catalog`.`default_db`.`my_table` (
...
) WITH (
...
)
Flink SQL> SHOW COLUMNS from MyUserTable LIKE '%f%';
+--------+-------+------+-----+--------+-----------+
| name | type | null | key | extras | watermark |
+--------+-------+------+-----+--------+-----------+
| field2 | BYTES | true | | | |
+--------+-------+------+-----+--------+-----------+
1 row in set
Flink SQL> CREATE VIEW my_view AS SELECT * from my_table;
[INFO] View has been created.
Flink SQL> SHOW VIEWS;
my_view
Flink SQL> SHOW CREATE VIEW my_view;
CREATE VIEW `default_catalog`.`default_db`.`my_view`(`field1`, `field2`, ...) as
SELECT *
FROM `default_catalog`.`default_database`.`my_table`
Flink SQL> SHOW FUNCTIONS;
mod
sha256
...
Flink SQL> CREATE FUNCTION f1 AS ...;
[INFO] Function has been created.
Flink SQL> SHOW USER FUNCTIONS;
f1
...
Flink SQL> SHOW MODULES;
+-------------+
| module name |
+-------------+
| core |
+-------------+
1 row in set
Flink SQL> SHOW FULL MODULES;
+-------------+------+
| module name | used |
+-------------+------+
| core | true |
+-------------+------+
1 row in set
Flink SQL> SHOW JARS;
/path/to/addedJar.jar
SHOW CATALOGS
SHOW CATALOGS [ [NOT] (LIKE | ILIKE) <sql_like_pattern> ]
모든 카탈로그를 보여줍니다. 추가로 이 문의 출력은 선택적 일치 패턴으로 필터링될 수 있습니다.
LIKE
LIKE 절로 이름이 <sql_like_pattern>과 유사한 모든 카탈로그를 보여줍니다.
LIKE 절의 SQL 패턴 문법은 MySQL 방언과 같습니다.
%는 0자를 포함한 임의 개수의 문자와 일치하며,\%는%문자 하나와 일치합니다._는 정확히 한 문자와 일치하며,\_는_문자 하나와 일치합니다.
ILIKE
LIKE와 동일한 동작이지만 SQL 패턴이 대소문자를 구분하지 않습니다.
SHOW CATALOGS 예시 (SHOW CATALOGS EXAMPLES)
세션에 catalog1과 catalog2가 있다고 가정합니다.
- 모든 카탈로그를 보여줍니다.
show catalogs;
+-----------------+
| catalog name |
+-----------------+
| catalog1 |
| catalog2 |
| default_catalog |
+-----------------+
3 rows in set
- 주어진 SQL 패턴과 유사한 모든 카탈로그를 보여줍니다.
show catalogs like '%log1';
-- show catalogs ilike '%log1';
-- show catalogs ilike '%LOG1';
+--------------+
| catalog name |
+--------------+
| catalog1 |
+--------------+
1 row in set
SHOW CURRENT CATALOG
SHOW CURRENT CATALOG
현재 카탈로그를 보여줍니다.
SHOW CREATE CATALOG
SHOW CREATE CATALOG catalog_name
기존 카탈로그의 생성 문을 보여줍니다. 출력에는 카탈로그의 이름과 관련 속성이 포함되어, 기본 카탈로그의 메타데이터를 직관적으로 이해할 수 있게 합니다.
카탈로그 cat2가 다음과 같이 생성되었다고 가정합니다:
create catalog cat2 WITH (
'type'='generic_in_memory',
'default-database'='db'
);
생성 문을 보여줍니다.
show create catalog cat2;
+---------------------------------------------------------------------------------------------+
| result |
+---------------------------------------------------------------------------------------------+
| CREATE CATALOG `cat2` WITH (
'default-database' = 'db',
'type' = 'generic_in_memory'
)
|
+---------------------------------------------------------------------------------------------+
1 row in set
SHOW DATABASES
SHOW DATABASES [ ( FROM | IN ) catalog_name] [ [NOT] (LIKE | ILIKE) <sql_like_pattern> ]
선택적으로 지정된 카탈로그 안의 모든 데이터베이스를 보여줍니다. 카탈로그가 지정되지 않으면 기본 카탈로그가 사용됩니다. 추가로 <sql_like_pattern>으로 데이터베이스를 필터링할 수 있습니다.
LIKE
LIKE 절로 이름이 <sql_like_pattern>과 유사한 모든 데이터베이스를 보여줍니다.
LIKE 절의 SQL 패턴 문법은 MySQL 방언과 같습니다.
%는 0자를 포함한 임의 개수의 문자와 일치하며,\%는%문자 하나와 일치합니다._는 정확히 한 문자와 일치하며,\_는_문자 하나와 일치합니다.
ILIKE
LIKE와 동일한 동작이지만 SQL 패턴이 대소문자를 구분하지 않습니다.
SHOW CURRENT DATABASE
SHOW CURRENT DATABASE
현재 데이터베이스를 보여줍니다.
SHOW TABLES
SHOW TABLES [ ( FROM | IN ) [catalog_name.]database_name ] [ [NOT] LIKE <sql_like_pattern> ]
선택적으로 지정된 데이터베이스의 모든 테이블을 보여줍니다. 데이터베이스가 지정되지 않으면 현재 데이터베이스에서 테이블을 반환합니다. 추가로 이 문의 출력은 선택적 일치 패턴으로 필터링될 수 있습니다.
LIKE
주어진 테이블 이름과 선택적 LIKE 절로 이름이 <sql_like_pattern>과 유사한 모든 테이블을 보여줍니다.
LIKE 절의 SQL 패턴 문법은 MySQL 방언과 같습니다.
%는 0자를 포함한 임의 개수의 문자와 일치하며,\%는%문자 하나와 일치합니다._는 정확히 한 문자와 일치하며,\_는_문자 하나와 일치합니다.
SHOW TABLES 예시 (SHOW TABLES EXAMPLES)
catalog1 카탈로그의 db1 데이터베이스에 다음 테이블이 있다고 가정합니다:
- person
- dim
세션의 현재 데이터베이스에는 다음 테이블이 있습니다:
- items
- orders
- 주어진 데이터베이스의 모든 테이블을 보여줍니다.
show tables from db1;
-- show tables from catalog1.db1;
-- show tables in db1;
-- show tables in catalog1.db1;
+------------+
| table name |
+------------+
| dim |
| person |
+------------+
2 rows in set
- 주어진 데이터베이스에서 주어진 SQL 패턴과 유사한 모든 테이블을 보여줍니다.
show tables from db1 like '%n';
-- show tables from catalog1.db1 like '%n';
-- show tables in db1 like '%n';
-- show tables in catalog1.db1 like '%n';
+------------+
| table name |
+------------+
| person |
+------------+
1 row in set
- 주어진 데이터베이스에서 주어진 SQL 패턴과 유사하지 않은 모든 테이블을 보여줍니다.
show tables from db1 not like '%n';
-- show tables from catalog1.db1 not like '%n';
-- show tables in db1 not like '%n';
-- show tables in catalog1.db1 not like '%n';
+------------+
| table name |
+------------+
| dim |
+------------+
1 row in set
- 현재 데이터베이스의 모든 테이블을 보여줍니다.
show tables;
+------------+
| table name |
+------------+
| items |
| orders |
+------------+
2 rows in set
SHOW CREATE TABLE
SHOW CREATE TABLE [[catalog_name.]db_name.]table_name
지정된 테이블의 create table 문을 보여줍니다. 출력에는 테이블 이름, 컬럼 이름, 데이터 타입, 제약, 설명(comment), 구성을 포함합니다.
기존 테이블의 구조, 구성, 제약을 이해하거나 다른 데이터베이스에서 테이블을 재생성해야 할 때 매우 유용한 문입니다.
테이블 orders가 다음과 같이 생성되었다고 가정합니다:
CREATE TABLE orders (
order_id BIGINT NOT NULL comment 'this is the primary key, named ''order_id''.',
product VARCHAR(32),
amount INT,
ts TIMESTAMP(3) comment 'notice: watermark, named ''ts''.',
ptime AS PROCTIME() comment 'notice: computed column, named ''ptime''.',
WATERMARK FOR ts AS ts - INTERVAL '1' SECOND,
CONSTRAINT `PK_order_id` PRIMARY KEY (order_id) NOT ENFORCED
) WITH (
'connector' = 'datagen'
);
생성 문을 보여줍니다.
show create table orders;
+---------------------------------------------------------------------------------------------+
| result |
+---------------------------------------------------------------------------------------------+
| CREATE TABLE `default_catalog`.`default_database`.`orders` (
`order_id` BIGINT NOT NULL COMMENT 'this is the primary key, named ''order_id''.',
`product` VARCHAR(32),
`amount` INT,
`ts` TIMESTAMP(3) COMMENT 'notice: watermark, named ''ts''.',
`ptime` AS PROCTIME() COMMENT 'notice: computed column, named ''ptime''.',
WATERMARK FOR `ts` AS `ts` - INTERVAL '1' SECOND,
CONSTRAINT `PK_order_id` PRIMARY KEY (`order_id`) NOT ENFORCED
) WITH (
'connector' = 'datagen'
)
|
+---------------------------------------------------------------------------------------------+
1 row in set
주의 현재
SHOW CREATE TABLE은 Flink SQL DDL로 생성된 테이블만 지원합니다.
SHOW COLUMNS
SHOW COLUMNS ( FROM | IN ) [[catalog_name.]database.]<table_name> [ [NOT] LIKE <sql_like_pattern>]
주어진 테이블 이름과 선택적 like 절로 테이블의 모든 컬럼을 보여줍니다.
LIKE
주어진 테이블 이름과 선택적 LIKE 절로 이름이 <sql_like_pattern>과 유사한 모든 컬럼을 보여줍니다.
LIKE 절의 SQL 패턴 문법은 MySQL 방언과 같습니다.
SHOW COLUMNS 예시 (SHOW COLUMNS EXAMPLES)
catalog1 카탈로그의 database1 데이터베이스에 있는 orders 테이블이 다음 구조를 가진다고 가정합니다:
+---------+-----------------------------+-------+-----------+---------------+----------------------------+
| name | type | null | key | extras | watermark |
+---------+-----------------------------+-------+-----------+---------------+----------------------------+
| user | BIGINT | false | PRI(user) | | |
| product | VARCHAR(32) | true | | | |
| amount | INT | true | | | |
| ts | TIMESTAMP(3) *ROWTIME* | true | | | `ts` - INTERVAL '1' SECOND |
| ptime | TIMESTAMP_LTZ(3) *PROCTIME* | false | | AS PROCTIME() | |
+---------+-----------------------------+-------+-----------+---------------+----------------------------+
- 주어진 테이블의 모든 컬럼을 보여줍니다.
show columns from orders;
-- show columns from database1.orders;
-- show columns from catalog1.database1.orders;
-- show columns in orders;
-- show columns in database1.orders;
-- show columns in catalog1.database1.orders;
+---------+-----------------------------+-------+-----------+---------------+----------------------------+
| name | type | null | key | extras | watermark |
+---------+-----------------------------+-------+-----------+---------------+----------------------------+
| user | BIGINT | false | PRI(user) | | |
| product | VARCHAR(32) | true | | | |
| amount | INT | true | | | |
| ts | TIMESTAMP(3) *ROWTIME* | true | | | `ts` - INTERVAL '1' SECOND |
| ptime | TIMESTAMP_LTZ(3) *PROCTIME* | false | | AS PROCTIME() | |
+---------+-----------------------------+-------+-----------+---------------+----------------------------+
5 rows in set
- 주어진 테이블에서 주어진 SQL 패턴과 유사한 모든 컬럼을 보여줍니다.
show columns from orders like '%r';
-- show columns from database1.orders like '%r';
-- show columns from catalog1.database1.orders like '%r';
-- show columns in orders like '%r';
-- show columns in database1.orders like '%r';
-- show columns in catalog1.database1.orders like '%r';
+------+--------+-------+-----------+--------+-----------+
| name | type | null | key | extras | watermark |
+------+--------+-------+-----------+--------+-----------+
| user | BIGINT | false | PRI(user) | | |
+------+--------+-------+-----------+--------+-----------+
1 row in set
- 주어진 테이블에서 주어진 SQL 패턴과 유사하지 않은 모든 컬럼을 보여줍니다.
show columns from orders not like '%_r';
-- show columns from database1.orders not like '%_r';
-- show columns from catalog1.database1.orders not like '%_r';
-- show columns in orders not like '%_r';
-- show columns in database1.orders not like '%_r';
-- show columns in catalog1.database1.orders not like '%_r';
+---------+-----------------------------+-------+-----+---------------+----------------------------+
| name | type | null | key | extras | watermark |
+---------+-----------------------------+-------+-----+---------------+----------------------------+
| product | VARCHAR(32) | true | | | |
| amount | INT | true | | | |
| ts | TIMESTAMP(3) *ROWTIME* | true | | | `ts` - INTERVAL '1' SECOND |
| ptime | TIMESTAMP_LTZ(3) *PROCTIME* | false | | AS PROCTIME() | |
+---------+-----------------------------+-------+-----+---------------+----------------------------+
4 rows in set
SHOW PARTITIONS
SHOW PARTITIONS [[catalog_name.]database.]<table_name> [ PARTITION <partition_spec>]
<partition_spec>:
(key1=val1, key2=val2, ...)
주어진 테이블 이름과 선택적 partition 절로 파티션된 테이블의 모든 파티션을 보여줍니다.
PARTITION
주어진 테이블에서 제공된 <partition_spec> 아래의 모든 파티션을 보여줍니다.
SHOW PARTITIONS 예시 (SHOW PARTITIONS EXAMPLES)
catalog1 카탈로그의 database1 데이터베이스에 있는 파티션된 테이블 table1이 다음 파티션을 가진다고 가정합니다:
+---------+-----------------------------+
| id | date |
+---------+-----------------------------+
| 1001 | 2020-01-01 |
| 1002 | 2020-01-01 |
| 1002 | 2020-01-02 |
+---------+-----------------------------+
- 주어진 테이블의 모든 파티션을 보여줍니다.
show partitions table1;
-- show partitions database1.table1;
-- show partitions catalog1.database1.table1;
+---------+-----------------------------+
| id | date |
+---------+-----------------------------+
| 1001 | 2020-01-01 |
| 1002 | 2020-01-01 |
| 1002 | 2020-01-02 |
+---------+-----------------------------+
3 rows in set
- 주어진 테이블에서 주어진 partition spec으로 모든 파티션을 보여줍니다.
show partitions table1 partition (id=1002);
-- show partitions database1.table1 partition (id=1002);
-- show partitions catalog1.database1.table1 partition (id=1002);
+---------+-----------------------------+
| id | date |
+---------+-----------------------------+
| 1002 | 2020-01-01 |
| 1002 | 2020-01-02 |
+---------+-----------------------------+
2 rows in set
SHOW PROCEDURES
SHOW PROCEDURES [ ( FROM | IN ) [catalog_name.]database_name ] [ [NOT] (LIKE | ILIKE) <sql_like_pattern> ]
선택적으로 지정된 데이터베이스의 모든 프로시저를 보여줍니다. 데이터베이스가 지정되지 않으면 현재 데이터베이스에서 프로시저를 반환합니다. 추가로 <sql_like_pattern>으로 프로시저를 필터링할 수 있습니다.
LIKE
LIKE 절로 이름이 <sql_like_pattern>과 유사한 모든 프로시저를 보여줍니다.
LIKE 절의 SQL 패턴 문법은 MySQL 방언과 같습니다.
%는 0자를 포함한 임의 개수의 문자와 일치하며,\%는%문자 하나와 일치합니다._는 정확히 한 문자와 일치하며,\_는_문자 하나와 일치합니다.
ILIKE
LIKE와 동일한 동작이지만 SQL 패턴이 대소문자를 구분하지 않습니다.
SHOW VIEWS
SHOW VIEWS [ ( FROM | IN ) [catalog_name.]database_name ] [ [NOT] LIKE <sql_like_pattern> ]
선택적으로 지정된 데이터베이스의 모든 뷰를 보여줍니다. 데이터베이스가 지정되지 않으면 현재 데이터베이스에서 뷰를 반환합니다. 추가로 이 문의 출력은 선택적 일치 패턴으로 필터링될 수 있습니다.
LIKE
주어진 뷰 이름과 선택적 LIKE 절로 이름이 <sql_like_pattern>과 유사한 모든 뷰를 보여줍니다.
LIKE 절의 SQL 패턴 문법은 MySQL 방언과 같습니다.
%는 0자를 포함한 임의 개수의 문자와 일치하며,\%는%문자 하나와 일치합니다._는 정확히 한 문자와 일치하며,\_는_문자 하나와 일치합니다.
SHOW CREATE VIEW
SHOW CREATE VIEW [catalog_name.][db_name.]view_name
지정된 뷰의 create view 문을 보여줍니다.
SHOW MATERIALIZED TABLES
SHOW MATERIALIZED TABLES [ ( FROM | IN ) [catalog_name.]database_name ] [ [NOT] LIKE <sql_like_pattern> ]
선택적으로 지정된 데이터베이스의 모든 머티리얼라이즈드 테이블을 보여줍니다. 데이터베이스가 지정되지 않으면 현재 데이터베이스에서 머티리얼라이즈드 테이블을 반환합니다. 추가로 이 문의 출력은 선택적 일치 패턴으로 필터링될 수 있습니다.
LIKE
주어진 머티리얼라이즈드 테이블 이름과 선택적 LIKE 절로 이름이 <sql_like_pattern>과 유사한 모든 머티리얼라이즈드 테이블을 보여줍니다.
LIKE 절의 SQL 패턴 문법은 MySQL 방언과 같습니다.
%는 0자를 포함한 임의 개수의 문자와 일치하며,\%는%문자 하나와 일치합니다._는 정확히 한 문자와 일치하며,\_는_문자 하나와 일치합니다.
SHOW CREATE [OR ALTER ]MATERIALIZED TABLE
SHOW CREATE MATERIALIZED TABLE [catalog_name.][db_name.]materialized_table_name
지정된 머티리얼라이즈드 테이블의 create materialized table 문을 보여줍니다.
SHOW CREATE OR ALTER MATERIALIZED TABLE [catalog_name.][db_name.]materialized_table_name
지정된 머티리얼라이즈드 테이블의 create or alter materialized table 문을 보여줍니다.
SHOW FUNCTIONS
SHOW [USER] FUNCTIONS [ ( FROM | IN ) [catalog_name.]database_name ] [ [NOT] (LIKE | ILIKE) <sql_like_pattern> ]
선택적으로 지정된 데이터베이스에 대해 시스템 함수와 사용자 정의 함수를 포함한 모든 함수를 보여줍니다. 데이터베이스가 지정되지 않으면 현재 데이터베이스에서 함수를 반환합니다. 추가로 <sql_like_pattern>으로 함수를 필터링할 수 있습니다.
USER
선택적으로 지정된 데이터베이스에 대해 사용자 정의 함수만 보여줍니다. 데이터베이스가 지정되지 않으면 현재 데이터베이스에서 함수를 반환합니다. 추가로 <sql_like_pattern>으로 함수를 필터링할 수 있습니다.
LIKE
LIKE 절로 이름이 <sql_like_pattern>과 유사한 모든 함수를 보여줍니다.
LIKE 절의 SQL 패턴 문법은 MySQL 방언과 같습니다.
%는 0자를 포함한 임의 개수의 문자와 일치하며,\%는%문자 하나와 일치합니다._는 정확히 한 문자와 일치하며,\_는_문자 하나와 일치합니다.
ILIKE
LIKE와 동일한 동작이지만 SQL 패턴이 대소문자를 구분하지 않습니다.
SHOW MODULES
SHOW [FULL] MODULES
해석 순서로 모든 활성화된 모듈 이름을 보여줍니다.
FULL 해석 순서로 모든 로드된 모듈과 활성화 상태를 보여줍니다.
SHOW JARS
SHOW JARS
세션 클래스로더에서 ADD JAR 문으로 추가된 모든 jar를 보여줍니다.
주의 현재
SHOW JARS문은 SQL CLI 또는 SQL Gateway에서만 동작합니다.
SHOW JOBS
SHOW JOBS
Flink 클러스터의 작업들을 보여줍니다.
주의 현재
SHOW JOBS문은 SQL CLI 또는 SQL Gateway에서만 동작합니다.
SHOW MODELS
SHOW MODELS [ ( FROM | IN ) [catalog_name.]database_name ] [ [NOT] (LIKE | ILIKE) <sql_like_pattern> ]
선택적으로 지정된 데이터베이스의 모든 모델을 보여줍니다. 데이터베이스가 지정되지 않으면 현재 데이터베이스에서 모델을 반환합니다. 추가로 <sql_like_pattern>으로 모델을 필터링할 수 있습니다.
LIKE
LIKE 절로 이름이 <sql_like_pattern>과 유사한 모든 모델을 보여줍니다.
LIKE 절의 SQL 패턴 문법은 MySQL 방언과 같습니다.
%는 0자를 포함한 임의 개수의 문자와 일치하며,\%는%문자 하나와 일치합니다._는 정확히 한 문자와 일치하며,\_는_문자 하나와 일치합니다.
ILIKE
LIKE와 동일한 동작이지만 SQL 패턴이 대소문자를 구분하지 않습니다.
SHOW CREATE MODEL
SHOW CREATE MODEL [catalog_name.][db_name.]model_name
지정된 모델의 create model 문을 보여줍니다. 출력에는 모델 이름, 모델 입력/출력 스키마, 모델 옵션, 다른 구성을 포함합니다. 이 문은 기존 모델의 구조와 구성을 이해하거나 다른 데이터베이스에서 모델을 재생성해야 할 때 유용합니다.
모델 my_model이 다음과 같이 생성되었다고 가정합니다:
CREATE MODEL my_model
INPUT(text STRING)
OUTPUT(response STRING)
WITH (
'provider' = 'openai',
);
생성 문을 보여줍니다.
show create model my_model;
+---------------------------------------------------------------------------------------------+
| result |
+---------------------------------------------------------------------------------------------+
| CREATE MODEL `default_catalog`.`default_database`.`my_model`
INPUT (`text` STRING)
OUTPUT (`response` STRING) WITH (
'provider' = 'openai'
)
|
+---------------------------------------------------------------------------------------------+
1 row in set