Flink sql 列裁剪原理请教

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Flink sql 列裁剪原理请教

Chris Guo
hi,社区的各位,是否有了解flink sql的列裁剪的实现原理?

通过calcite的rbo可以实现sql优化,calcite的coreRules好像没有实现列裁剪。看一些文章有提到flink有实现projection pushdown。请问下这部分源码对应哪里

Best!


| |
a511955993
|
|
邮箱:[hidden email]
|

签名由 网易邮箱大师 定制
Reply | Threaded
Open this post in threaded view
|

Re:Flink sql 列裁剪原理请教

hailongwang
Hi,
1. projection prune 可查看:CoreRules.PROJECT_REMOVE, FlinkLogicalCalcRemoveRule.INSTANCE
2. projection push into tablesource 可查看:PushProjectIntoTableSourceScanRule


Best,
Hailong


在 2020-12-15 20:57:32,"SmileSmile" <[hidden email]> 写道:

>hi,社区的各位,是否有了解flink sql的列裁剪的实现原理?
>
>通过calcite的rbo可以实现sql优化,calcite的coreRules好像没有实现列裁剪。看一些文章有提到flink有实现projection pushdown。请问下这部分源码对应哪里
>
>Best!
>
>
>| |
>a511955993
>|
>|
>邮箱:[hidden email]
>|
>
>签名由 网易邮箱大师 定制
Reply | Threaded
Open this post in threaded view
|

回复:Flink sql 列裁剪原理请教

Chris Guo
hi,hailongwang
project_remove可以消掉两个链接在一起的projection,如果只投影一个字段,可是经过好几层sql嵌套,底层投影了大量的字段。如何做到更好的列裁剪,这块flink的相关实现是否有?


| |
a511955993
|
|
邮箱:[hidden email]
|

签名由 网易邮箱大师 定制

在2020年12月15日 22:33,hailongwang 写道:
Hi,
1. projection prune 可查看:CoreRules.PROJECT_REMOVE, FlinkLogicalCalcRemoveRule.INSTANCE
2. projection push into tablesource 可查看:PushProjectIntoTableSourceScanRule


Best,
Hailong


在 2020-12-15 20:57:32,"SmileSmile" <[hidden email]> 写道:

>hi,社区的各位,是否有了解flink sql的列裁剪的实现原理?
>
>通过calcite的rbo可以实现sql优化,calcite的coreRules好像没有实现列裁剪。看一些文章有提到flink有实现projection pushdown。请问下这部分源码对应哪里
>
>Best!
>
>
>| |
>a511955993
>|
>|
>邮箱:[hidden email]
>|
>
>签名由 网易邮箱大师 定制