Class FlinkHintStrategies
java.lang.Object
org.apache.flink.table.planner.hint.FlinkHintStrategies
A collection of Flink style
HintStrategys.
Currently, Flink support table hints with table options and query hints including join hints and state ttl hints.
For handling query hints, the process is as follows:
- Resolve query hint propagation:
- The query hints are resolved using Calcite's functionality to propagate them from the sink to the source and within sub-queries
- Capitalize query hints: All query hints are capitalized to ensure consistency, as they are expected to be in uppercase.
- Clear incorrectly propagated query hints: Any query hints that have been mistakenly propagated into the query block are cleared.
- Clear query hints from unmatched nodes: Query hints attached to unmatched nodes, such
as
Project, are also cleared.
- Validate and modify query hints: The query hints are validated, and table names in the hints are replaced with LEFT or RIGHT to indicate the join input ordinal.
- Clear query block aliases: The query block aliases are cleared from the sink to the source.
- Consume query hints in applicable scenes. For example, the join hints are consumed in specific rules where they are relevant.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic org.apache.calcite.rel.hint.HintStrategyTableCustomize theHintStrategyTablewhich contains hint strategies supported by Flink.
-
Constructor Details
-
FlinkHintStrategies
public FlinkHintStrategies()
-
-
Method Details
-
createHintStrategyTable
public static org.apache.calcite.rel.hint.HintStrategyTable createHintStrategyTable()Customize theHintStrategyTablewhich contains hint strategies supported by Flink.
-