Application Development
Table API & SQL
SQL
DESCRIBE Statements
DESCRIBE Statements
DESCRIBE statements are used to describe the schema of a table or a view.
Run a DESCRIBE statement
DESCRIBE statements can be executed with the executeSql()
method of the TableEnvironment
. The executeSql()
method returns the schema of given table for a successful DESCRIBE operation, otherwise will throw an exception.
The following examples show how to run a DESCRIBE statement in TableEnvironment
.
DESCRIBE statements can be executed with the execute_sql()
method of the TableEnvironment
. The execute_sql()
method returns the schema of given table for a successful DESCRIBE operation, otherwise will throw an exception.
The following examples show how to run a DESCRIBE statement in TableEnvironment
.
DESCRIBE statements can be executed in SQL CLI .
The following examples show how to run a DESCRIBE statement in SQL CLI.
EnvironmentSettings settings = EnvironmentSettings . newInstance ()...
TableEnvironment tableEnv = TableEnvironment . create ( settings );
// register a table named "Orders"
tableEnv . executeSql (
"CREATE TABLE Orders (" +
" `user` BIGINT NOT NULl," +
" product VARCHAR(32)," +
" amount INT," +
" ts TIMESTAMP(3)," +
" ptime AS PROCTIME()," +
" PRIMARY KEY(`user`) NOT ENFORCED," +
" WATERMARK FOR ts AS ts - INTERVAL '1' SECONDS" +
") with (...)" );
// print the schema
tableEnv . executeSql ( "DESCRIBE Orders" ). print ();
val settings = EnvironmentSettings . newInstance ()...
val tableEnv = TableEnvironment . create ( settings )
// register a table named "Orders"
tableEnv . executeSql (
"CREATE TABLE Orders (" +
" `user` BIGINT NOT NULl," +
" product VARCHAR(32)," +
" amount INT," +
" ts TIMESTAMP(3)," +
" ptime AS PROCTIME()," +
" PRIMARY KEY(`user`) NOT ENFORCED," +
" WATERMARK FOR ts AS ts - INTERVAL '1' SECONDS" +
") with (...)" )
// print the schema
tableEnv . executeSql ( "DESCRIBE Orders" ). print ()
settings = EnvironmentSettings . new_instance ()...
table_env = StreamTableEnvironment . create ( env , settings )
# register a table named "Orders"
table_env . execute_sql ( \
"CREATE TABLE Orders ("
" `user` BIGINT NOT NULl,"
" product VARCHAR(32),"
" amount INT,"
" ts TIMESTAMP(3),"
" ptime AS PROCTIME(),"
" PRIMARY KEY(`user`) NOT ENFORCED,"
" WATERMARK FOR ts AS ts - INTERVAL '1' SECONDS"
") with (...)" );
# print the schema
table_env . execute_sql ( "DESCRIBE Orders" ). print ()
Flink SQL > CREATE TABLE Orders (
> `user` BIGINT NOT NULl ,
> product VARCHAR ( 32 ),
> amount INT ,
> ts TIMESTAMP ( 3 ),
> ptime AS PROCTIME (),
> PRIMARY KEY ( `user` ) NOT ENFORCED ,
> WATERMARK FOR ts AS ts - INTERVAL '1' SECONDS
> ) with (
> ...
> );
[ INFO ] Table has been created .
Flink SQL > DESCRIBE Orders ;
The result of the above example is:
+---------+----------------------------------+-------+-----------+-----------------+----------------------------+
| name | type | null | key | computed column | watermark |
+---------+----------------------------------+-------+-----------+-----------------+----------------------------+
| user | BIGINT | false | PRI(user) | | |
| product | VARCHAR(32) | true | | | |
| amount | INT | true | | | |
| ts | TIMESTAMP(3) *ROWTIME* | true | | | `ts` - INTERVAL '1' SECOND |
| ptime | TIMESTAMP(3) NOT NULL *PROCTIME* | false | | PROCTIME() | |
+---------+----------------------------------+-------+-----------+-----------------+----------------------------+
5 rows in set
+---------+----------------------------------+-------+-----------+-----------------+----------------------------+
| name | type | null | key | computed column | watermark |
+---------+----------------------------------+-------+-----------+-----------------+----------------------------+
| user | BIGINT | false | PRI(user) | | |
| product | VARCHAR(32) | true | | | |
| amount | INT | true | | | |
| ts | TIMESTAMP(3) *ROWTIME* | true | | | `ts` - INTERVAL '1' SECOND |
| ptime | TIMESTAMP(3) NOT NULL *PROCTIME* | false | | PROCTIME() | |
+---------+----------------------------------+-------+-----------+-----------------+----------------------------+
5 rows in set
+---------+----------------------------------+-------+-----------+-----------------+----------------------------+
| name | type | null | key | computed column | watermark |
+---------+----------------------------------+-------+-----------+-----------------+----------------------------+
| user | BIGINT | false | PRI(user) | | |
| product | VARCHAR(32) | true | | | |
| amount | INT | true | | | |
| ts | TIMESTAMP(3) *ROWTIME* | true | | | `ts` - INTERVAL '1' SECOND |
| ptime | TIMESTAMP(3) NOT NULL *PROCTIME* | false | | PROCTIME() | |
+---------+----------------------------------+-------+-----------+-----------------+----------------------------+
5 rows in set
root
|-- user: BIGINT NOT NULL
|-- product: VARCHAR(32)
|-- amount: INT
|-- ts: TIMESTAMP(3) *ROWTIME*
|-- ptime: TIMESTAMP(3) NOT NULL *PROCTIME* AS PROCTIME()
|-- WATERMARK FOR ts AS `ts` - INTERVAL '1' SECOND
|-- CONSTRAINT PK_3599338 PRIMARY KEY (user)
Back to top
Syntax
DESCRIBE [ catalog_name .][ db_name .] table_name