Hi everyone,

In 1.10 release, Flink SQL supports many awesome features and improvements,
including:
- support watermark statement and computed column in DDL
- fully support all data types in Hive
- Batch SQL performance improvements (TPC-DS 7x than Hive MR)
- support INSERT OVERWRITE and INSERT PARTITION

However, all the features and improvements are only avaiable in Blink
planner, not in Old planner.
There are also some other features are limited in Blink planner, e.g.
Dimension Table Join [1],
TopN [2], Deduplicate [3], streaming aggregates optimization [4], and so on.

But Old planner is still the default planner in Table API & SQL. It is
frustrating for users to set
to blink planner manually when every time start a SQL CLI. And it's
surprising to see unsupported
exception if they trying out the new features but not switch planner.

SQL CLI is a very important entrypoint for trying out new feautures and
prototyping for users.
In order to give new planner more exposures, I would like to suggest to set
default planner
for SQL Client to Blink planner before 1.10 release.

The approach is just changing the default SQL CLI yaml configuration[5]. In
this way, the existing
environment is still compatible and unaffected.

Changing the default planner for the whole Table API & SQL is another topic
and is out of scope of this discussion.

What do you think?

Best,
Jark

[1]:
https://ci.apache.org/projects/flink/flink-docs-master/dev/table/streaming/joins.html#join-with-a-temporal-table
[2]:
https://ci.apache.org/projects/flink/flink-docs-master/dev/table/sql/queries.html#top-n
[3]:
https://ci.apache.org/projects/flink/flink-docs-master/dev/table/sql/queries.html#deduplication
[4]:
https://ci.apache.org/projects/flink/flink-docs-master/dev/table/tuning/streaming_aggregation_optimization.html
[5]:
https://github.com/apache/flink/blob/master/flink-table/flink-sql-client/conf/sql-client-defaults.yaml#L100

Reply via email to