Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Current state: "Accepted"

Discussion thread: https://lists.apache.org/thread/v0b8pfh0o7rwtlok2mfs5s6q9w5vw8h6

JIRA:

Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyFLINK-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.

...