约束与限制
在特性配置前,请先了解OmniStream特性的使用限制。
SQL
- 当前OmniStream Flink Native化版本支持Nexmark用例集,支持Nexmark中的数据类型及内置函数。
- 支持的数据类型:BIGINT、TIMESTAMP(3)、VARCHAR。
- 支持的表达式:+ - * /。
- 支持的内置函数:lower、SPLIT_INDEX、DATE_FORMAT、MOD、count_char。
- 支持的GroupAggregate聚合函数类型:SUM(BIGINT)、COUNT(BIGINT)、AVG (BIGINT)、MIN(BIGINT)、MIN(VARCHAR)、MAX (BIGINT)、MAX(VARCHAR)。
- Join算子的JoinKey只支持BIGINT类型,操作类型只支持InnerJoin。
- Deduplicate和Rank算子partition by只支持BIGINT类型,查询表的所有字段需要为支持的数据类型,且只支持row_number函数。Rank的PARTITION BY仅支持一个字段,且类型为BIGINT。TOPN的ORDER BY支持一个字段BIGINT,并且是DESC。TOP1的ORDER BY支持最多两个字段,类型可以是BIGINT TIMESTAMP(3),排序规则可以是DESC,ASC。
- Aggregate算子的group by列只支持BIGINT类型。
- LocalWindowAGG/GlobalWindowAGG算子聚合函数只支持COUNT、MAX函数,GroupWindowAGG算子聚合函数只支持COUNT函数。
- LocalWindowAGG/GlobalWindowAGG算子只支持滚动窗口TUMBLE、滑动窗口HOP。
- GroupWindowAGG算子只支持SESSION会话窗口。
- LookUpJoin算子的外部表数据源仅支持CSV文件。
- 状态后端只支持内存、RocksDB和OmniStateStore。
- checkpoint只支持xxx
- Flink会将状态存储在内存状态后端中,内存使用会随时间和处理数据量增长,OmniStream使用列式向量化架构优化性能,状态存储跟原生行为一致,处理速度比原生Flink更快,使用内存增长比原生快,提升性能的同时对于空间的需求也增大,故当前Nexmark基准测试用例输入数据量最大只支持5千万数据。
DataStream
详情请见DataStream算子和UDF支持情况。
- Source和Sink目前只支持Kafka数据源。
- 支持的算子有限:Map、FlatMap、GroupReduce、Filter、Source、Sink。
- Filter算子目前只支持RichFilterFunction。
- 状态后端只支持内存,不支持checkpoint。
父主题: 特性介绍