DynamicTableSource中Filter push down

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

DynamicTableSource中Filter push down

jy l
Hi:
各位大佬,请教一个问题。
我再flink-1.12.0上自定义一个DynamicTableSource,并支持SupportsFilterPushDown,SupportsProjectionPushDown等特性。
然后我的ScanRuntimeProvider使用的是InputFormatProvider。
我运行时,下推的filters在创建InputFormat和copy()方法之后,那我还怎么在InputFormat中根据filters去过滤数据源呢?

我的理解是SupportsFilterPushDown和SupportsProjectionPushDown中的方法应该在DynamicTableSource的copy()方法之后被调用,这样我先拿到project和filter,再去创建InputFormat,这样我就可以根据filter在数据源的地方将不需要的那部分数据过滤掉,使到达flink时的数据只是我需要的那部分数据。可是目前这些方法的调用顺序好像是在InputFormat创建之前。

望知道的告知一下,感谢!
祝好!