Big Data 34 min read

Comprehensive Overview of SQL and Apache Flink SQL Features with Practical Code Examples

This article provides an in-depth introduction to SQL, its history and ANSI standards, then details Apache Flink's SQL capabilities—including SELECT, WHERE, GROUP BY, UNION, JOIN, window functions, and user-defined functions—accompanied by extensive code examples and a complete end‑to‑end Flink job implementation.

Big Data Technology & Architecture
Big Data Technology & Architecture
Big Data Technology & Architecture
Comprehensive Overview of SQL and Apache Flink SQL Features with Practical Code Examples

SQL (Structured Query Language) originated in the 1970s at IBM and has evolved through multiple ANSI/ISO standards, becoming the dominant language for relational data manipulation and retrieval.

The article explains core SQL operations such as SELECT with scalar functions and aliases, WHERE filtering with logical operators, GROUP BY aggregation, set operations UNION ALL and UNION, and various JOIN types (INNER, LEFT, RIGHT, FULL), illustrating each with clear examples and result tables.

It then introduces Apache Flink's support for both batch and streaming SQL, covering Over Windows (bounded ROWS and RANGE) and Group Windows (TUMBLE, HOP, SESSION) with syntax, semantics, and sample queries on test datasets such as item_tab and pageAccess_tab. The article also describes user‑defined functions (UDF, UDTF, UDAF) and shows how to implement them in Scala.

Finally, a complete end‑to‑end Flink SQL job is presented: a custom SourceFunction emitting event‑time data with watermarks, a StreamTableSource definition, a CSV sink, and a main program that registers the source and sink, executes a TUMBLE window query to compute page‑view counts per region, and writes the results to a file.

All code snippets are preserved in pre blocks to maintain their original formatting.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

Big DataSQLApache FlinkStreamingWindow FunctionsUser Defined Functions
Big Data Technology & Architecture
Written by

Big Data Technology & Architecture

Wang Zhiwu, a big data expert, dedicated to sharing big data technology.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.