Hi everyone,

since Flink 1.9 we have supported two SQL planners. Most of the original plan of FLIP-32 [1] has been implemented. The Blink code merge has been completed and many additional features have been added exclusively to the new planner. The new planner is now in a much better shape than the legacy one.

In order to avoid user confusion, reduce duplicate code, and improve maintainability and testing times of the Flink project as a whole we would like to propose the following steps to complete FLIP-32:

In Flink 1.13:
- Deprecate the `flink-table-planner` module
- Deprecate `BatchTableEnvironment` for both Java, Scala, and Python

In Flink 1.14:
- Drop `flink-table-planner` early
- Drop many deprecated interfaces and API on demand
- Rename `flink-table-planner-blink` to `flink-table-planner`
- Rename `flink-table-runtime-blink` to `flink-table-runtime`
- Remove references of "Blink" in the code base

This will have an impact on users that still use DataSet API together with Table API. With this change we will not support converting between DataSet API and Table API anymore. We hope to compensate the missing functionality in the new unified TableEnvironment and/or the batch mode in DataStream API during 1.14 and 1.15. For this, we are looking for further feedback which features are required in Table API/DataStream API to have a smooth migration path.

Looking forward to your feedback.

Regards,
Timo

[1] https://cwiki.apache.org/confluence/display/FLINK/FLIP-32%3A+Restructure+flink-table+for+future+contributions

Reply via email to