内部 Flink SQL 与社区 Flink SQL 语法差异对比:

-x 表示插件不支持-
-- 表示引擎不支持-

Statements语法/功能Flink-1.14NE-Flink-1.14Flink-1.12NE-Flink-1.11
SHOWSHOW CATALOGS支持X支持X
SHOW CURRENT CATALOG支持X支持X
SHOW CATALOGS支持X支持X
SHOW DATABASES支持X支持X
SHOW CURRENT DATABASES支持X支持X
SHOW TABLES支持X支持X
SHOW CREATE TABLE支持X--
SHOW COLUMNS ( FROM | IN ) [[catalog_name.]database.] [ [NOT] LIKE ]----
SHOW VIEWS支持X支持X
SHOW CREATE VIEW [catalog_name.][db_name.]view_name----
SHOW FUNCTIONS支持X支持X
SHOW [USER] FUNCTIONS支持X--
SHOW [FULL] MODULES支持X--
SHOW JARS支持X--
SHOW JOBS----
USEUSE CATALOG catalog_name支持X支持X
USE MODULES module_name1[, module_name2, ...]支持X支持X
USE [catalog_name.]database_name支持X--
EXPLAINEXPLAIN PLAN FOR <query_statement_or_insert_statement>支持X支持X
EXPLAIN [([ExplainDetail[, ExplainDetail]-]) | PLAN FOR] <query_statement_or_insert_statement>支持X--
DESCRIBEDESCRIBE [catalog_name.][db_name.]table_name支持X支持X
{ DESCRIBE | DESC } [catalog_name.][db_name.]table_name支持X--
ANALYZEANALYZE TABLE [catalog_name.][db_name.]table_name PARTITION(partcol1[=val1] [, partcol2[=val2], ...]) COMPUTE STATISTICS [FOR COLUMNS col1 [, col2, ...] | FOR ALL COLUMNS]----
INSERTINSERT { INTO | OVERWRITE } [catalog_name.][db_name.]table_name [PARTITION part_spec] [column_list] select_statement支持支持支持支持
INSERT { INTO | OVERWRITE } [catalog_name.][db_name.]table_name VALUES values_row [, values_row ...]支持支持支持支持
ALTERALTER TABLE [catalog_name.][db_name.]table_name RENAME TO new_table_name支持X支持X
ALTER TABLE [catalog_name.][db_name.]table_name SET (key1=val1, key2=val2, ...)支持X支持X
ALTER VIEW [catalog_name.][db_name.]view_name RENAME TO new_view_name支持X--
ALTER VIEW [catalog_name.][db_name.]view_name AS new_query_expression支持X--
ALTER DATABASE [catalog_name.]db_name SET (key1=val1, key2=val2, ...)支持X支持X
ALTER [TEMPORARY|TEMPORARY SYSTEM] FUNCTION [IF EXISTS] [catalog_name.][db_name.]function_name AS identifier [LANGUAGE JAVA|SCALA|PYTHON]支持X支持X
DROPDROP CATALOG [IF EXISTS] catalog_name支持X--
DROP [TEMPORARY] TABLE [IF EXISTS] [catalog_name.][db_name.]table_name 支持X支持X
DROP DATABASE [IF EXISTS] [catalog_name.]db_name [ (RESTRICT | CASCADE) ] 支持X支持X
DROP [TEMPORARY] VIEW [IF EXISTS] [catalog_name.][db_name.]view_name支持X支持X
DROP [TEMPORARY|TEMPORARY SYSTEM] FUNCTION [IF EXISTS] [catalog_name.][db_name.]function_name;支持X支持X
CREATECREATE TABLE [IF NOT EXISTS] [catalog_name.][db_name.]table_name支持X--
CREATE TABLE [catalog_name.][db_name.]table_name支持支持支持支持
CREATE TABLE [catalog_name.][db_name.]table_name [ LIKE source_table [( <like_options> )] ]支持支持支持支持
CREATE TABLE [IF NOT EXISTS][catalog_name.][db_name.]table_name [ LIKE source_table [( <like_options> )] ]支持X--
CREATE TABLE [IF NOT EXISTS][catalog_name.][db_name.]table_name [ AS select_query ]----
CREATE CATALOG catalog_name WITH (key1=val1, key2=val2, ...)支持支持支持支持
CREATE DATABASE [IF NOT EXISTS] [catalog_name.]db_name [COMMENT database_comment] WITH (key1=val1, key2=val2, ...)支持X支持X
CREATE [TEMPORARY] VIEW [IF NOT EXISTS] [catalog_name.][db_name.]view_name [( columnName [, columnName ]- )] [COMMENT view_comment] AS query_expression [ [NOT] LIKE ]支持部分支持支持部分支持
CREATE [TEMPORARY|TEMPORARY SYSTEM] FUNCTION [IF NOT EXISTS] [catalog_name.][db_name.]function_name AS identifier [LANGUAGE JAVA|SCALA|PYTHON]支持部分支持支持部分支持
QUERYQuerys 详情请见官网官网支持官网支持
LOADLOAD MODULE module_name [WITH ('key1' = 'val1', 'key2' = 'val2', ...)]支持X--
UNLOADUNLOAD MODULE module_name支持X--
SETSET ('key' = 'value')?支持支持-支持
RESETRESET ('key')?支持X--
JARADD JAR '<path_to_filename>.jar'支持X--
REMOVE JAR '<path_to_filename>.jar' 支持X--
SHOW JARS 支持X--

set属性

'<表名>.connections.sink' 表示直接复用query的schema作为该sink表的schema,默认为true,方便用户构建table。但当一个表同时作为sink、维表时,应手动置为false,与官方一致,防止schema被覆盖。

支持元数据方式的数据源有

  • Clickhouse
  • Doris
  • ES
  • GreenPlum
  • Hbase
  • HDFS
  • Kafka
  • Kudu
  • MongoDB
  • Mysql
  • Oracle
  • Postgresql
  • Pulsar
  • Redis
  • RocketMQ
  • SqlServer
  • StarRocks
  • Teradata
  • Tidb
  • TSDB