首页 > 解决方案 > Calcite:我们可以重写优化的 RelNode 吗?

问题描述

在 Calcite 中,经过默认 VolcanoPlanner 提供的优化后,我们可以得到一个优化后的 RelNode,但是我们可以进一步优化吗?例如,我想添加一个ElasticsearchSort或类似的东西来限制我们处理的数据集。

有人建议我们可以定义一个 RelOptRule,但由于 VolcanoPlanner 处理优化的dynamic programming方式,不确定规则是否可以按正确的顺序应用。有任何想法吗?

标签: apache-calcite

解决方案


您不必使用 VolcanoPlanner。还有 HepPlanner,它只是应用您作为 HepProgram 提供的规则。


推荐阅读