This documentation is for an unreleased version of Apache Flink. We recommend you use the latest stable version.
概览
Table API #
Table API 是用于 Java、Scala 和 Python 语言的查询 API,它可以用一种非常直观的方式来组合使用选取、过滤、join 等关系型算子。Table API 与 Flink SQL 共享同一个底层引擎,无论输入是连续的(流式)还是有界的(批处理),在两个接口中指定的查询都具有相同的语义,并指定相同的结果。
Table API 和 SQL 两种 API 是紧密集成的,以及 DataStream API。你可以在这些 API 之间,以及一些基于这些 API 的库之间轻松的切换。例如,你可以使用 MATCH_RECOGNIZE 子句从表中检测模式,然后使用 DataStream API 基于匹配的模式构建告警。
何时使用 Table API #
在以下情况下使用 Table API:
- 在 Java、Scala 或 Python 代码中编写关系型查询
- 使用类型安全的算子以编程方式组合查询
- 将 SQL 语句与编程式表操作相结合
- 与 DataStream API 集成以实现混合用例
如需纯 SQL 使用而无需编程,请参阅 Flink SQL。
Table 程序依赖 #
您需要将 Table API 作为依赖项添加到项目中,以便用 Table API 定义数据管道。
有关如何为 Java 和 Scala 配置这些依赖项的更多细节,请查阅项目配置小节。
如果您使用 Python,请查阅 PyFlink 文档。