实用指南:Flink原理与实战(java版)#第7章 Flink的 Table API & SQL(整章)
电子书 Flink原理与实战(java版)专栏文章入口:电子书 Flink原理与实战(java版)- 目录结构
本章分为如下几篇:
Flink原理与实战(java版)#第7章 Flink的 Table API & SQL(第一节Table API& SQL编程指南(一))
Flink原理与实战(java版)#第7章 Flink的 Table API & SQL(第一节Table API& SQL编程指南(二))
Flink原理与实战(java版)#第7章 Flink的 Table API & SQL(第二节Table API 与 DataStream API集成(一))
Flink原理与实战(java版)#第7章 Flink的 Table API & SQL(第二节Table API 与 DataStream API集成(二))
Flink原理与实战(java版)#第7章 Flink的 Table API & SQL(第三节Table API & SQL 的流式处理(一))
Flink原理与实战(java版)#第7章 Flink的 Table API & SQL(第三节Table API & SQL 的流式处理(二))
Flink原理与实战(java版)#第7章 Flink的 Table API & SQL(第三节Table API & SQL 的流式处理(三))
Flink原理与实战(java版)#第7章 Flink的 Table API & SQL(第四节SQL入门与查询(一))
Flink原理与实战(java版)#第7章 Flink的 Table API & SQL(第四节SQL入门与查询(二))
Flink原理与实战(java版)#第7章 Flink的 Table API & SQL(第五节流上的联接(一))
Flink原理与实战(java版)#第7章 Flink的 Table API & SQL(第五节流上的联接(二))
Flink原理与实战(java版)#第7章 Flink的 Table API & SQL(第六节窗口(一))
Flink原理与实战(java版)#第7章 Flink的 Table API & SQL(第六节窗口(二))
Flink原理与实战(java版)#第7章 Flink的 Table API & SQL(第七节函数(一))
Flink原理与实战(java版)#第7章 Flink的 Table API & SQL(第七节函数(二))
Flink原理与实战(java版)#第7章 Flink的 Table API & SQL(第八节Catalogs(一))
Flink原理与实战(java版)#第7章 Flink的 Table API & SQL(第八节Catalogs(二)及本章小结)
Flink原理与实战(java版)#第7章 Flink的 Table API & SQL(整章)
文章目录
第7章 Flink的 Table API & SQL
Apache Flink 提供了两种关系型 API 来实现流批统一的处理,分别是 Table API 和 SQL。Table API 是专为 Scala 和 Java 语言设计的查询接口,它允许用户以直观的方式组合使用选择、过滤、连接等关系型算子。而 Flink SQL 是基于 Apache Calcite 实现的标准 SQL。无论输入内容是实时的(流式)还是有限集合的(批处理),在这两个接口中定义的查询都具有相同的语义,并产生相同的结果。
Table API 和 SQL 两种 API 与 DataStream API 紧密集成,可以在这些 API 之间以及基于它们的库之间轻松切换。例如,可以使用 CEP 从 DataStream 进行模式匹配,然后使用 Table API 分析匹配结果;或者使用 SQL 扫描、过滤和聚合批处理表,然后使用 Gelly 图算法处理已预处理的数据。
Flink的Table模块包括 Table API 和 SQL:
- Table API 是一种类SQL的API,通过Table API,用户可以像操控表一样操作数据,非常直观和方便;
- SQL作为一种声明式语言,有着标准的语法和规范,用户可以不用关心底层达成即可进行资料的处理,非常易于上手Flink Table API 和 SQL 的搭建上有80%左右的代码是公用的。作为一个流批统一的计算引擎,Flink 的 Runtime 层是统一的。
浙公网安备 33010602011771号