Type: New Feature
Affects Version/s: None
Fix Version/s: None
Component/s: Table SQL / API
As Stephan already announced on the mailing list, the Flink community will receive a big code contribution from Alibaba. The flink-table module is one of the biggest parts that will receive many new features and major architectural improvements. Instead of waiting until the next major version of Flink or introducing big API-breaking changes, we would like to gradually build up the Blink-based planner and runtime while keeping the Table & SQL API mostly stable. Users will be able to play around with the current merge status of the new planner or fall back to the old planner until the new one is stable.
A more detailed description can be found in FLIP-32.
In a nutshell:
- Split the flink-table module similar to the proposal of FLIP-28 which is outdated. This is a preparation to separate API from core (targeted for Flink 1.8).
- Perform minor API changes to separate API from actual implementation (targeted for Flink 1.8).
- Merge a MVP Blink SQL planner given that necessary Flink core/runtime changes have been completed.
The merging will happen in stages (e.g. basic planner framework, then operator by operator). The exact merging plan still needs to be determined.
- Rework the type system in order to unblock work on unified table environments, UDFs, sources/sinks, and catalog.
- Enable full end-to-end batch and stream execution features.
Our mid-term goal:
Run full TPC-DS on a unified batch/streaming runtime. Initially, we will only support ingesting data coming from the DataStream API. Once we reworked the sources/sink interfaces, we will target full end-to-end TPC-DS query execution with table connectors.
This issue is an umbrella issue for tracking the Blink SQL merge efforts.
|Clean-up and prepare Table API to be uncoupled from table core||Open||Unassigned|
|Finalize the Blink SQL merging efforts||Open||Unassigned|