OpenMLDB 离线增加 WindowColumnPruning 优化开关
背景
OpenMLDB 离线目前支持多种性能优化,包括窗口并行优化、窗口倾斜优化、UnsafeRow 内存优化等等。其中窗口并行优化里面还有一种优化,我们称之 为WindowColumnPruning(窗口列剪枝)优化,其原理是一个窗口计算除了新增的列,输入行的所有列都需要参与 Window 函数计算并直接返回到结果行中,如果开启 WindowColumnPruning 则 Window 计算只需要输出新增的列,输入的原始列可以和输出的新增列进行拼接。这个优化具体实现代码已经在窗口并行优化逻辑中实现,本次任务只是需要在 Java/Scala 侧新增开关,可以把是否开启该优化的功能暴露出去。
编程语言
Scala / C++