鲲鹏社区首页
中文
注册
开发者
我要评分
获取效率
正确性
完整性
易理解
在线提单
论坛求助

SQL算子和表达式支持情况

介绍在Flink 1.16.3、Flink 1.17.1和Flink 1.20.0引擎下,OmniStream Flink Native化特性对SQL算子及表达式(含数据类型)的支持范围、限制条件与使用规则。

OmniStream Flink Native化特性支持的算子、表达式、函数如表2表3所示,表格中使用符号表示算子和表达式是否支持,符号的含义请参见表1

  • 表2表3中仅描述了OmniStream Flink Native化特性支持或涉及的数据类型,未展示的数据类型是OmniStream Flink Native化特性不支持的。
  • 如果使用OmniStream Flink Native化特性不支持的算子和表达式,会导致执行计划回退为原生执行,对性能会有影响。
  • 使用sql-client交互式界面执行SQL时,推荐将SQL的结果输出到connector为blackhole的数据表中,具体可参考nexmark Q0的执行方式。
  • 由于内存限制,默认情况下只支持Calc和LookupJoin算子,其他支持的算子需要export FLINK_PERFORMANCE=false设置环境变量使能。
表1 算子和表达式支持表格中符号的含义

符号

含义

S

表示支持该算子或表达式。

PS

表示部分支持该算子或表达式,但存在一些限定条件。具体的限定条件请参见约束与限制

NS

表示不支持该算子或表达式。

NA

表示不涉及该算子或表达式。开源版本Flink也没有此输入场景。

[Blank Cell]

表示不适用或需要确认。

表2 支持的算子列表

支持算子名称

BIGINT

VARCHAR

TIMESTAMP(3)

Calc

S

S

S

Sink

S

S

S

Csv Source

S

S

S

Kafka Source

S

S

S

Kafka Sink

S

S

S

Join

PS

PS

PS

LookupJoin

PS

PS

PS

GroupAggregate

PS

PS

PS

LocalGroupAggregate

PS

PS

PS

GlobalGroupAggregate

PS

PS

PS

IncrementalGroupAggregate

PS

PS

PS

LocalWindowAggregate

PS

PS

PS

GlobalWindowAggregate

PS

PS

PS

GroupWindowAggregate

PS

PS

PS

WindowAggregate

PS

PS

PS

WindowJoin

PS

PS

PS

Deduplicate

PS

PS

PS

Expand

PS

PS

PS

Rank

PS

PS

PS

表3 支持的表达式列表

表达式

函数类型

BIGINT

VARCHAR

NULL

TIMESTAMP(3)

*

Scalar Functions

S

NS

S

S

+

Scalar Functions

S

NS

S

S

-

Scalar Functions

S

NS

S

S

/

Scalar Functions

S

NS

S

S

LOWER

Scalar Functions

NA

S

NA

NA

SPLIT_INDEX

Scalar Functions

S

S

NA

NA

DATE_FORMAT

Scalar Functions

NA

NA

NA

S

COUNT_CHAR

Scalar Functions

NA

S

NA

NA

HOUR

Scalar Functions

S

NA

NS

S

REGEX_EXTRACT

Scalar Functions

NA

S

NS

NA