约束与限制
OmniOperator算子加速约束与限制
- 当前UDF插件仅支持Simple UDF,用于执行基于Hive UDF框架编写的UDF函数。
- 当前支持的Decimal数据类型规格包含64位和128位,如若超过128位的表示范围,则会抛出异常或者返回null,可能会产生和引擎原生行为不相同的场景,如SUM、AVG聚合等,若中间结果超出Decimal 128位,引擎原生正常执行,OmniOperator算子加速则根据配置抛出异常或者返回null。这里建议如果字段需要进行AVG运算且存在累加结果过大的可能,请使用Double等其他类型存储。
- 不同的负载所需内存配置不一样,例如TPC-DS 3TB数据集,SparkExtension推荐配置下,堆外内存配置不低于30GB,99条所有SQL可成功运行,运行过程中日志可能出现MEM_CAP_EXCEEDED但不影响最终功能,建议适当增大堆外内存配置。如果堆外内存配置过低,SQL有可能执行结果出错。
OmniMV物化视图不支持重写(或者提取物化视图)的场景规则
针对Spark引擎,OmniMV物化视图不支持重写或者提取物化视图的场景规则如表1所示。
针对ClickHouse引擎,OmniMV物化视图不支持重写或者提取物化视图的场景规则如表2所示
场景 |
规则 |
说明 |
---|---|---|
不支持重写 |
基本规则 |
|
不支持重写 |
Join规则 |
|
不支持重写 |
Aggregate规则 |
|
不支持提取视图 |
查询逻辑过于单一或者过于复杂 |
|
场景 |
规则 |
说明 |
---|---|---|
不支持重写 |
引擎定义的规则 |
|
不支持提取视图 |
查询逻辑过于单一或者过于复杂 |
可以创建Projection的子查询必须是对单表的查询,即其FROM子句中只有一个表,且必须有group by子句,其余场景暂不支持提取Projection。 |
父主题: 特性描述