Visão Geral
Este Curso Apache Flink SQL Essentials apresenta os fundamentos do uso do Apache Flink SQL para processamento de dados em tempo real. Você aprenderá como escrever consultas SQL para fluxos contínuos, trabalhar com janelas, conectar fontes e destinos de dados e construir pipelines de streaming utilizando apenas SQL. É um curso ideal para quem quer usar o poder do Flink sem escrever código complexo com APIs tradicionais.
Conteúdo Programatico
Module 1 – Introduction to Flink SQL
- What is Flink SQL?
- Differences between batch SQL and streaming SQL
- Dynamic tables concept
- Overview of Table API vs SQL API
Module 2 – Setting Up Flink SQL Environment
- SQL Client
- Creating catalogs, databases and tables
- Working with connectors
- Basic SQL workflow in Flink
Module 3 – Working with Streams as Tables
- Dynamic tables explained
- INSERT, SELECT, CREATE TABLE
- Time attributes (processing time & event time)
- Understanding changelogs
Module 4 – Windowing in SQL
- Tumbling, sliding and session windows
- Window aggregations
- Watermarks and lateness handling
- Complex time-based calculations
Module 5 – Joins & Advanced Queries
- Stream-stream joins
- Table-stream joins
- Temporal joins
- Lookup tables
- Subqueries and nested logic
Module 6 – Connectors & Serialization
- Kafka connector
- File system connectors (S3, HDFS, local)
- JDBC connector
- Formats: JSON, CSV, Avro, Debezium, etc.
Module 7 – Real-Time Pipeline Design with SQL
- Designing SQL pipelines end-to-end
- Data enrichment
- Multi-step transformations
- Materialized views & incremental computation
Module 8 – Performance & Optimization
- Query planner
- Resource tuning basics
- Parallelism considerations
- Common SQL pitfalls in streaming
Module 9 – Deployment & Operations
- Running SQL jobs in cluster mode
- Savepoints & upgrades
- Monitoring queries
- Debugging streaming SQL jobs
Module 10 – Final Project
- Building a real-time pipeline with SQL only
- Ingesting data from Kafka
- Applying windowing, joins and aggregations
- Emitting results to a database or data lake