XuPingyong commented on a change in pull request #8980: [FLINK-13040] improve
blink table config
URL: https://github.com/apache/flink/pull/8980#discussion_r300844867
##########
File path:
flink-table/flink-table-planner-blink/src/main/java/org/apache/flink/table/api/PlannerConfigOptions.java
##########
@@ -30,117 +30,59 @@
//
------------------------------------------------------------------------
// Optimizer Options
//
------------------------------------------------------------------------
-
- public static final ConfigOption<Integer> SQL_OPTIMIZER_CNF_NODES_LIMIT
=
- key("sql.optimizer.cnf.nodes.limit")
- .defaultValue(-1)
- .withDescription("When converting to
conjunctive normal form (CNF), fail if the expression" +
- " exceeds this
threshold; the threshold is expressed in terms of number of nodes " +
- "(only count RexCall
node, including leaves and interior nodes). Negative number to" +
- " use the default
threshold: double of number of nodes.");
-
public static final ConfigOption<String>
SQL_OPTIMIZER_AGG_PHASE_ENFORCER =
- key("sql.optimizer.agg.phase.enforcer")
- .defaultValue("NONE")
- .withDescription("Strategy for agg
phase. Only NONE, TWO_PHASE or ONE_PHASE can be set.\n" +
- "NONE: No special
enforcer for aggregate stage. Whether to choose two stage aggregate or one" +
+ key("sql.optimizer.agg-phase.strategy")
+ .defaultValue("AUTO")
+ .withDescription("Strategy for
aggregate phase. Only AUTO, TWO_PHASE or ONE_PHASE can be set.\n" +
+ "AUTO: No special
enforcer for aggregate stage. Whether to choose two stage aggregate or one" +
" stage aggregate
depends on cost. \n" +
"TWO_PHASE: Enforce to
use two stage aggregate which has localAggregate and globalAggregate. " +
"NOTE: If aggregate
call does not support split into two phase, still use one stage aggregate.\n" +
"ONE_PHASE: Enforce to
use one stage aggregate which only has CompleteGlobalAggregate.");
- public static final ConfigOption<Boolean>
SQL_OPTIMIZER_SHUFFLE_PARTIAL_KEY_ENABLED =
- key("sql.optimizer.shuffle.partial-key.enabled")
- .defaultValue(false)
- .withDescription("Enables shuffle by
partial partition keys. " +
- "For example, A join
with join condition: L.c1 = R.c1 and L.c2 = R.c2. " +
- "If this flag is
enabled, there are 3 shuffle strategy:\n " +
- "1. L and R shuffle by
c1 \n" +
- "2. L and R shuffle by
c2\n" +
- "3. L and R shuffle by
c1 and c2\n" +
- "It can reduce some
shuffle cost someTimes.");
-
- public static final ConfigOption<Boolean>
SQL_OPTIMIZER_SMJ_REMOVE_SORT_ENABLED =
- key("sql.optimizer.smj.remove-sort.enabled")
- .defaultValue(false)
- .withDescription("When true, the
optimizer will try to remove redundant sort for SortMergeJoin. " +
- "However that will
increase optimization time. Default value is false.");
-
- public static final ConfigOption<Long>
SQL_OPTIMIZER_HASH_JOIN_BROADCAST_THRESHOLD =
- key("sql.optimizer.hash-join.broadcast.threshold")
+ public static final ConfigOption<Long>
SQL_OPTIMIZER_BROADCAST_JOIN_THRESHOLD =
+ key("sql.optimizer.join.broadcast.threshold")
.defaultValue(1024 * 1024L)
- .withDescription("Maximum size in bytes
for data that could be broadcast to each parallel " +
- "instance that holds a
partition of all data when performing a hash join. " +
- "Broadcast will be
disabled if the value is -1.");
-
- public static final ConfigOption<Double>
SQL_OPTIMIZER_SEMI_JOIN_BUILD_DISTINCT_NDV_RATIO =
-
key("sql.optimizer.semi-anti-join.build-distinct.ndv-ratio")
- .defaultValue(0.8)
- .withDescription("When the semi-side of
semi/anti join can distinct a lot of data in advance," +
- " we will add distinct
node before semi/anti join.");
-
- public static final ConfigOption<Long>
SQL_OPTIMIZER_JOIN_NULL_FILTER_THRESHOLD =
- key("sql.optimizer.join.null.filter.threshold")
- .defaultValue(2000000L)
- .withDescription("If the source of
InnerJoin has nullCount more than this value, " +
- "it will add a null
filter (possibly be pushDowned) before the join, filter" +
- " null values to avoid
the impact of null values on the single join node.");
+ .withDescription("Configures the
maximum size in bytes for a table that will be broadcast to all worker " +
+ "nodes when performing
a join. By setting this value to -1 broadcasting can be disabled. ");
public static final ConfigOption<Boolean>
SQL_OPTIMIZER_DATA_SKEW_DISTINCT_AGG_ENABLED =
Review comment:
Thanks, fixed it.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services