...
Current state: "Accepted"
Discussion thread: https://lists.apache.org/thread/v0b8pfh0o7rwtlok2mfs5s6q9w5vw8h6
JIRA: Jira server ASF JIRA serverId 5aa69414-a9e9-3523-82ec-879b028fb15b key FLINK-28706
Released: <Flink Version> release-1.16
Please keep the discussion on the mailing list rather than commenting on the wiki (wiki discussions get unwieldy fast).
...
@PublicEvolving
public interface SupportsDynamicFiltering {
/**
* applyReturns the candidate filter fields intothis thepartition table source, andsupported. returnThis themethod acceptedcan fields.tell Thethe
* data corresponding* theplanner filterwhich fields willcan be used providedas dynamic infiltering runtimefields, whichthe planner canwill bepick usedsome
to filter
* fields from the partitions andreturned fields based on the input query, and create dynamic filtering operator.
*/
List<String> listAcceptedFilterFields();
/**
* Applies the candidate filter fields into the table source. The data corresponding the filter
* fields will be provided in runtime, which can be used to filter the partitions or the input
* data.
*
* <p>NOTE: the candidate filter fields are always from the result of {@link
* #listAcceptedFilterFields()}.
*/
List<String> void applyDynamicFiltering(List<String> candidateFilterFields);
}
Since the split enumerator is executed in JM, the filtered partition data from dim-source operator should be send to the split enumerator via existing coordinator mechanism. So we introduce DynamicFilteringEvent
to wrap the filtering data.
...