Visão Geral
O Curso Kafka com Spark Streaming foi projetado para profissionais que desejam compreender e aplicar o processamento de dados em tempo real utilizando duas das tecnologias mais poderosas do ecossistema Big Data: Apache Kafka e Apache Spark Streaming.
Durante o curso, o aluno aprenderá a integrar Kafka e Spark para construir pipelines de dados robustos, escaláveis e resilientes, capazes de lidar com grandes volumes de dados em tempo real, desde a ingestão até o processamento e análise contínua.
Conteúdo Programatico
Módulo 1: Introdução ao Ecossistema de Streaming
- Visão geral de Big Data e processamento em tempo real.
- Papel do Apache Kafka e do Apache Spark no ecossistema.
- Casos de uso reais de streaming: IoT, analytics, e-commerce, monitoramento.
- Arquitetura geral de um pipeline de dados contínuo.
Módulo 2: Fundamentos do Apache Kafka
- Estrutura do Kafka: brokers, tópicos, partições e offset.
- Producers, consumers e grupos de consumo.
- Criação e configuração de tópicos.
- Produção e consumo de mensagens em tempo real.
- Entendendo garantias de entrega (at-least-once, exactly-once).
Módulo 3: Fundamentos do Apache Spark Streaming
- Arquitetura do Spark e do Spark Streaming.
- Diferença entre Spark batch e Spark Streaming.
- Estrutura de DStreams e micro-batches.
- Introdução ao Structured Streaming (Spark 3.x).
- Operações e transformações em streams.
Módulo 4: Integração Kafka + Spark Streaming
- Conectores nativos e configuração de integração.
- Criando uma aplicação Spark Streaming para consumir dados Kafka.
- Deserialização de mensagens JSON, Avro e Protobuf.
- Criação de pipelines de transformação em tempo real.
- Checkpointing e recuperação de falhas.
Módulo 5: Structured Streaming com Kafka
- Uso de DataFrames e SQL para processamento contínuo.
- Leitura e escrita em tópicos Kafka com Structured Streaming.
- Gerenciamento de estado e janelas temporais.
- Integração com sinks (HDFS, Cassandra, PostgreSQL, ElasticSearch).
- Controle de latência e tuning de performance.
Módulo 6: Monitoramento e Tuning
- Monitoramento de jobs com Spark UI.
- Logging e métricas no Kafka e no Spark.
- Ajustes de performance (batch interval, paralelismo, memória).
- Gerenciamento de erros e retentativas.
Módulo 7: Deploy e Escalabilidade
- Deploy em ambientes distribuídos (YARN, Kubernetes, Docker).
- Estratégias de escalabilidade horizontal.
- Configuração de alta disponibilidade e fault-tolerance.
- Boas práticas para pipelines em produção.
Módulo 8: Projeto Prático – Pipeline de Streaming Completo
- Construção de uma aplicação fim a fim:
- Kafka → Spark Streaming → PostgreSQL/ElasticSearch.
- Dashboard em tempo real com dados processados.
- Implementação, testes e monitoramento do pipeline.
- Documentação técnica e boas práticas de operação.