SHOW 语句

SHOW 语句用于列出所有的 catalog,或者列出当前 catalog 中所有的 database,或者列出当前 catalog 和当前 database 的所有表或视图,或者列出当前正在使用的 catalog 和 database, 或者列出当前 catalog 和当前 database 中所有的 function,包括:系统 function 和用户定义的 function,或者仅仅列出当前 catalog 和当前 database 中用户定义的 function,或者列出当前环境所有激活的 module,或者列出当前环境所有加载的 module 及激活状态。

目前 Flink SQL 支持下列 SHOW 语句:

  • SHOW CATALOGS
  • SHOW CURRENT CATALOG
  • SHOW DATABASES
  • SHOW CURRENT DATABASE
  • SHOW TABLES
  • SHOW VIEWS
  • SHOW FUNCTIONS
  • SHOW MODULES
  • SHOW FULL MODULES

执行 SHOW 语句

Java

可以使用 TableEnvironment 中的 executeSql() 方法执行 SHOW 语句。 若 SHOW 操作执行成功,executeSql() 方法返回所有对象,否则会抛出异常。

以下的例子展示了如何在 TableEnvironment 中执行一个 SHOW 语句。

Scala

可以使用 TableEnvironment 中的 executeSql() 方法执行 SHOW 语句。 若 SHOW 操作执行成功,executeSql() 方法返回所有对象,否则会抛出异常。

以下的例子展示了如何在 TableEnvironment 中执行一个 SHOW 语句。

Python

可以使用 TableEnvironment 中的 execute_sql() 方法执行 SHOW 语句。 若 SHOW 操作执行成功,execute_sql() 方法返回所有对象,否则会抛出异常。

以下的例子展示了如何在 TableEnvironment 中执行一个 SHOW 语句。

SQL CLI

可以在 SQL CLI 中执行 SHOW 语句。

以下的例子展示了如何在 SQL CLI 中执行一个 SHOW 语句。

Java

  1. StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
  2. StreamTableEnvironment tEnv = StreamTableEnvironment.create(env);
  3. // show catalogs
  4. tEnv.executeSql("SHOW CATALOGS").print();
  5. // +-----------------+
  6. // | catalog name |
  7. // +-----------------+
  8. // | default_catalog |
  9. // +-----------------+
  10. // show current catalog
  11. tEnv.executeSql("SHOW CURRENT CATALOG").print();
  12. // +----------------------+
  13. // | current catalog name |
  14. // +----------------------+
  15. // | default_catalog |
  16. // +----------------------+
  17. // show databases
  18. tEnv.executeSql("SHOW DATABASES").print();
  19. // +------------------+
  20. // | database name |
  21. // +------------------+
  22. // | default_database |
  23. // +------------------+
  24. // show current database
  25. tEnv.executeSql("SHOW CURRENT DATABASE").print();
  26. // +-----------------------+
  27. // | current database name |
  28. // +-----------------------+
  29. // | default_database |
  30. // +-----------------------+
  31. // create a table
  32. tEnv.executeSql("CREATE TABLE my_table (...) WITH (...)");
  33. // show tables
  34. tEnv.executeSql("SHOW TABLES").print();
  35. // +------------+
  36. // | table name |
  37. // +------------+
  38. // | my_table |
  39. // +------------+
  40. // create a view
  41. tEnv.executeSql("CREATE VIEW my_view AS ...");
  42. // show views
  43. tEnv.executeSql("SHOW VIEWS").print();
  44. // +-----------+
  45. // | view name |
  46. // +-----------+
  47. // | my_view |
  48. // +-----------+
  49. // show functions
  50. tEnv.executeSql("SHOW FUNCTIONS").print();
  51. // +---------------+
  52. // | function name |
  53. // +---------------+
  54. // | mod |
  55. // | sha256 |
  56. // | ... |
  57. // +---------------+
  58. // create a user defined function
  59. tEnv.executeSql("CREATE FUNCTION f1 AS ...");
  60. // show user defined functions
  61. tEnv.executeSql("SHOW USER FUNCTIONS").print();
  62. // +---------------+
  63. // | function name |
  64. // +---------------+
  65. // | f1 |
  66. // | ... |
  67. // +---------------+
  68. // show modules
  69. tEnv.executeSql("SHOW MODULES").print();
  70. // +-------------+
  71. // | module name |
  72. // +-------------+
  73. // | core |
  74. // +-------------+
  75. // show full modules
  76. tEnv.executeSql("SHOW FULL MODULES").print();
  77. // +-------------+-------+
  78. // | module name | used |
  79. // +-------------+-------+
  80. // | core | true |
  81. // | hive | false |
  82. // +-------------+-------+

Scala

  1. val env = StreamExecutionEnvironment.getExecutionEnvironment()
  2. val tEnv = StreamTableEnvironment.create(env)
  3. // show catalogs
  4. tEnv.executeSql("SHOW CATALOGS").print()
  5. // +-----------------+
  6. // | catalog name |
  7. // +-----------------+
  8. // | default_catalog |
  9. // +-----------------+
  10. // show databases
  11. tEnv.executeSql("SHOW DATABASES").print()
  12. // +------------------+
  13. // | database name |
  14. // +------------------+
  15. // | default_database |
  16. // +------------------+
  17. // create a table
  18. tEnv.executeSql("CREATE TABLE my_table (...) WITH (...)")
  19. // show tables
  20. tEnv.executeSql("SHOW TABLES").print()
  21. // +------------+
  22. // | table name |
  23. // +------------+
  24. // | my_table |
  25. // +------------+
  26. // create a view
  27. tEnv.executeSql("CREATE VIEW my_view AS ...")
  28. // show views
  29. tEnv.executeSql("SHOW VIEWS").print()
  30. // +-----------+
  31. // | view name |
  32. // +-----------+
  33. // | my_view |
  34. // +-----------+
  35. // show functions
  36. tEnv.executeSql("SHOW FUNCTIONS").print()
  37. // +---------------+
  38. // | function name |
  39. // +---------------+
  40. // | mod |
  41. // | sha256 |
  42. // | ... |
  43. // +---------------+
  44. // create a user defined function
  45. tEnv.executeSql("CREATE FUNCTION f1 AS ...")
  46. // show user defined functions
  47. tEnv.executeSql("SHOW USER FUNCTIONS").print()
  48. // +---------------+
  49. // | function name |
  50. // +---------------+
  51. // | f1 |
  52. // | ... |
  53. // +---------------+
  54. // show modules
  55. tEnv.executeSql("SHOW MODULES").print()
  56. // +-------------+
  57. // | module name |
  58. // +-------------+
  59. // | core |
  60. // +-------------+
  61. // show full modules
  62. tEnv.executeSql("SHOW FULL MODULES").print()
  63. // +-------------+-------+
  64. // | module name | used |
  65. // +-------------+-------+
  66. // | core | true |
  67. // | hive | false |
  68. // +-------------+-------+

Python

  1. settings = EnvironmentSettings.new_instance()...
  2. table_env = StreamTableEnvironment.create(env, settings)
  3. # show catalogs
  4. table_env.execute_sql("SHOW CATALOGS").print()
  5. # +-----------------+
  6. # | catalog name |
  7. # +-----------------+
  8. # | default_catalog |
  9. # +-----------------+
  10. # show databases
  11. table_env.execute_sql("SHOW DATABASES").print()
  12. # +------------------+
  13. # | database name |
  14. # +------------------+
  15. # | default_database |
  16. # +------------------+
  17. # create a table
  18. table_env.execute_sql("CREATE TABLE my_table (...) WITH (...)")
  19. # show tables
  20. table_env.execute_sql("SHOW TABLES").print()
  21. # +------------+
  22. # | table name |
  23. # +------------+
  24. # | my_table |
  25. # +------------+
  26. # create a view
  27. table_env.execute_sql("CREATE VIEW my_view AS ...")
  28. # show views
  29. table_env.execute_sql("SHOW VIEWS").print()
  30. # +-----------+
  31. # | view name |
  32. # +-----------+
  33. # | my_view |
  34. # +-----------+
  35. # show functions
  36. table_env.execute_sql("SHOW FUNCTIONS").print()
  37. # +---------------+
  38. # | function name |
  39. # +---------------+
  40. # | mod |
  41. # | sha256 |
  42. # | ... |
  43. # +---------------+
  44. # create a user defined function
  45. table_env.execute_sql("CREATE FUNCTION f1 AS ...")
  46. # show user defined functions
  47. table_env.execute_sql("SHOW USER FUNCTIONS").print()
  48. # +---------------+
  49. # | function name |
  50. # +---------------+
  51. # | f1 |
  52. # | ... |
  53. # +---------------+
  54. # show modules
  55. table_env.execute_sql("SHOW MODULES").print()
  56. # +-------------+
  57. # | module name |
  58. # +-------------+
  59. # | core |
  60. # +-------------+
  61. # show full modules
  62. table_env.execute_sql("SHOW FULL MODULES").print()
  63. # +-------------+-------+
  64. # | module name | used |
  65. # +-------------+-------+
  66. # | core | true |
  67. # | hive | false |
  68. # +-------------+-------+

SQL CLI

  1. Flink SQL> SHOW CATALOGS;
  2. default_catalog
  3. Flink SQL> SHOW DATABASES;
  4. default_database
  5. Flink SQL> CREATE TABLE my_table (...) WITH (...);
  6. [INFO] Table has been created.
  7. Flink SQL> SHOW TABLES;
  8. my_table
  9. Flink SQL> CREATE VIEW my_view AS ...;
  10. [INFO] View has been created.
  11. Flink SQL> SHOW VIEWS;
  12. my_view
  13. Flink SQL> SHOW FUNCTIONS;
  14. mod
  15. sha256
  16. ...
  17. Flink SQL> CREATE FUNCTION f1 AS ...;
  18. [INFO] Function has been created.
  19. Flink SQL> SHOW USER FUNCTIONS;
  20. f1
  21. ...
  22. Flink SQL> SHOW MODULES;
  23. +-------------+
  24. | module name |
  25. +-------------+
  26. | core |
  27. +-------------+
  28. 1 row in set
  29. Flink SQL> SHOW FULL MODULES;
  30. +-------------+------+
  31. | module name | used |
  32. +-------------+------+
  33. | core | true |
  34. +-------------+------+
  35. 1 row in set

SHOW CATALOGS

  1. SHOW CATALOGS

展示所有的 catalog。

SHOW CURRENT CATALOG

  1. SHOW CURRENT CATALOG

显示当前正在使用的 catalog。

SHOW DATABASES

  1. SHOW DATABASES

展示当前 catalog 中所有的 database。

SHOW CURRENT DATABASE

  1. SHOW CURRENT DATABASE

显示当前正在使用的 database。

SHOW TABLES

  1. SHOW TABLES

展示当前 catalog 和当前 database 中所有的表。

SHOW VIEWS

  1. SHOW VIEWS

展示当前 catalog 和当前 database 中所有的视图。

SHOW FUNCTIONS

  1. SHOW [USER] FUNCTIONS

展示当前 catalog 和当前 database 中所有的 function,包括:系统 function 和用户定义的 function。

USER 仅仅展示当前 catalog 和当前 database 中用户定义的 function。

SHOW MODULES

  1. SHOW [FULL] MODULES

展示当前环境激活的所有 module。

FULL 展示当前环境加载的所有 module 及激活状态。