Table API& SQL发展历程
自2015年开始,阿里巴巴开始调研开源流计算引擎,最终决定基于 Flink 打造新一代计算引
擎,针对 Flink 存在的不足进行优化和改进,并且在 2019 年初将最终代码开源,也就是Blink。Blink 在原来的 Flink 基础上最显著的一个贡献就是 Flink SQL 的实现。随着版本的不断更新,API 也出现了很多不兼容的地方。
在 Flink 1.9 中,Table 模块迎来了核心架构的升级,引入了阿里巴巴Blink团队贡献的诸多功
能,Flink 的 Table 模块 包括 Table API 和 SQL。
Table API 是一种类SQL的API,通过Table API,用户可以像操作表一样操作数据,非常直观和方便;
SQL作为一种声明式语言,有着标准的语法和规范,用户可以不用关心底层实现即可进行数据的处理,非常易于上手
Flink Table API 和 SQL 的实现上有80%左右的代码是公用的,作为一个流批统一的计算引
擎,Flink 的 Runtime 层是统一的。
在Flink 1.9 之前,Flink API 层一直分为DataStream API 和 DataSet API,Table API & SQL 位于 DataStream API 和 DataSet API 之上。可以看出流处理和批处理有各自独立的API (流处理DataStream,批处理DataSet)。而且有不