Hi:
由于业务需要,我想在flink1.11.2中自定义一个ScanTableSource, 并想实现SupportsFilterPushDown特性。
但是在摸索的过程中发现,以下代码确似乎禁止使用SupportsFilterPushDown特性。

val unsupportedAbilities = List(
 classOf[SupportsFilterPushDown],
 classOf[SupportsLimitPushDown],
 classOf[SupportsPartitionPushDown],
 classOf[SupportsComputedColumnPushDown],
 classOf[SupportsWatermarkPushDown])
unsupportedAbilities.foreach { ability =>
 if (ability.isAssignableFrom(tableSource.getClass)) {
 throw new UnsupportedOperationException("Currently, a DynamicTableSource
with " +
 s"${ability.getSimpleName} ability is not supported.")
 }
}

SupportsFilterPushDown的介绍,Enables to push down filters into a {@link
ScanTableSource}.

这样的话,是不是有点矛盾呢?

我怎么能在ScanTableSource上实现push down filters?
以及实现了SupportsFilterPushDown的source有哪些?

望知道的大佬告知,感谢。

祝好!

回复