Skip to main content

Table API & SQL

Apache Flink features two relational APIs - the Table API and SQL - for unified stream and batch processing.

The Table API is a language-integrated query API for Java, Scala, and Python that allows the composition of queries from relational operators such as selection, filter, and join in a very intuitive way.

Flink’s SQL support is based on Apache Calcite which implements the SQL standard.

Queries specified in either interface have the same semantics and specify the same result regardless of whether the input is continuous (streaming) or bounded (batch).

flink-layered-apis-by-level-of-extraction.png


Your Guide to Flink SQL: An In-Depth Exploration