如图示,在旧版本的 Flink 里,它的 API 层次遵循上图左侧这样四层的关系。最上层表示我们可以用比较高级的 API,或者说声明程度更高的 Table API 以及 SQL 的方式来编写逻辑。所有 SQL 和 Table API 编写的内容都会被 Flink 内部翻译和优化成一个用 DataStream API 实现的程序。再往下一层,DataStream API 的程序被表示成为一系列 Transformation,最终 Transformation 会被翻译成 JobGraph。
而在较新版本的 Flink 里发生了一些改变,主要的改变体现在 Table API 和SQL 这一层上。它不再会被翻译成 DataStream API 的程序,而是直接到达底层 Transformation 一层。换句话说,DataStream API 和 Table API 这两者的关系,从一个下层和上层的关系变为了一个平级的关系,这样流程的简化,会相应地带来一些查询优化方面的好处。
资料来源:《Apache Flink 必知必会》,下载链接:https://developer.aliyun.com/topic/download?id=1189
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。