Visão Geral
Este curso foi desenvolvido para capacitar profissionais a compreender e aplicar o Apache Flink na construção de pipelines de dados em tempo real. Você aprenderá os fundamentos do stream processing, como trabalhar com estados, janelas, tolerância a falhas e como integrar o Flink com sistemas como Kafka, SQL, bancos NoSQL e data lakes.
Ao final, estará apto a criar aplicações distribuídas de alta performance utilizando o Apache Flink.
Objetivo
Após realizar este curso Apache Flink Fundamentals, você será capaz de:
- Entender o modelo de processamento de streams do Flink
- Desenvolver aplicações em tempo real usando DataStream API
- Implementar operações com estado e janelas
- Aplicar tolerância a falhas com checkpoints e savepoints
- Integrar Flink com Apache Kafka, bancos e arquivos
- Monitorar e otimizar jobs em produção
Publico Alvo
- Engenheiros de dados
- Desenvolvedores backend
- Cientistas de dados
- Engenheiros de machine learning
- Profissionais interessados em processamento de dados em tempo real
Pre-Requisitos
- Conhecimentos básicos de programação (preferencialmente Java, Scala ou Python)
- Noções de arquitetura distribuída
- Noções de sistemas de mensageria (opcional, mas ajuda)
Materiais
Inglês/Português + Exercícios + Lab Pratico
Conteúdo Programatico
Module 1 – Introduction to Apache Flink
- Overview of stream vs. batch processing
- What is Apache Flink?
- Flink ecosystem components
- Flink vs Spark vs Kafka Streams
- Installing and running Flink locally
- Flink Cluster architecture: JobManager, TaskManager, Slots
Module 2 – Flink DataStream API
- Understanding data streams
- Sources and Sinks (Files, Kafka, Socket, Custom)
- Transformations: map, flatMap, filter, keyBy
- Parallelism and distributed execution model
- Stateless vs Stateful operations
Module 3 – Time & Windows
- Event Time vs Processing Time
- Watermarks and late data
- Tumbling, Sliding, Session windows
- Window functions (reduce, aggregate, process)
- Hands-on: real-time windowed aggregations
Module 4 – Stateful Stream Processing
- Keyed state vs Operator state
- ValueState, ListState, MapState, ReducingState
- State backends (RocksDB, Memory)
- Scaling stateful jobs
- Checkpoints and barriers
Module 5 – Fault Tolerance & Recovery
- Checkpoints
- Savepoints
- Exactly-once processing
- Restart strategies
- High availability mode
- Hands-on: running a job with checkpoints
Module 6 – Integrating Apache Flink
- Flink + Apache Kafka
- Flink + JDBC (PostgreSQL / MySQL)
- Flink + NoSQL (Elasticsearch, Cassandra)
- Flink + Data Lakes (S3, HDFS)
- Hands-on: building an end-to-end streaming pipeline
Module 7 – Flink SQL & Table API
- Introduction to Table API
- Streaming SQL
- Catalogs and connectors
- Real-time analytics with SQL queries
- Hands-on: SQL-based aggregations
Module 8 – Monitoring & Deployment
- Flink Web UI
- Metrics and logs
- Job managers and task slots
- Deploying Flink on:
- Standalone cluster
- Kubernetes
- Docker
- Best practices for production
Module 9 – Final Project
- Build a real-time streaming application using Apache Flink + Kafka + PostgreSQL/S3 with:
- Stateful transformations
- Window aggregations
- Checkpoints
- Custom sinks
- Monitoring and deployment
TENHO INTERESSE