Programa do Curso
PySpark e Aprendizado de Máquina
Módulo 1: Fundamentos de Big Data e Spark
- Visão geral do ecossistema de Big Data e o papel do Spark nas plataformas de dados modernas
- Compreensão da arquitetura do Spark: driver, executores, gerenciador de cluster, avaliação preguiçosa (lazy evaluation), DAG e planejamento de execução
- Diferenças entre as APIs RDD e DataFrame e quando utilizar cada abordagem
- Criação e configuração da SparkSession e compreensão dos fundamentos da configuração de aplicações
Módulo 2: DataFrames no PySpark
- Leitura e escrita de dados em fontes e formatos corporativos (CSV, JSON, Parquet, Delta)
- Manipulação de DataFrames no PySpark: transformações, ações, expressões de colunas, filtragem, junções e agregações
- Implementação de operações avançadas, como funções de janela, manipulação de carimbos de data/hora (timestamps) e trabalho com dados aninhados
- Aplicação de verificações de qualidade de dados e escrita de código PySpark reutilizável e de fácil manutenção
Módulo 3: Processamento Eficiente de Grandes Conjuntos de Dados
- Compreensão dos fundamentos de desempenho: estratégias de particionamento, comportamento de shuffle, caching e persistência
- Utilização de técnicas de otimização, incluindo junções broadcast (broadcast joins) e análise do plano de execução
- Processamento eficiente de grandes volumes de dados e melhores práticas para fluxos de trabalho de dados escalonáveis
- Compreensão da evolução de esquemas (schema evolution) e dos formatos de armazenamento modernos utilizados em ambientes corporativos
Módulo 4: Engenharia de Recursos em Escala
- Realização de engenharia de recursos (feature engineering) com o Spark MLlib: tratamento de valores ausentes, codificação de variáveis categóricas e escalonamento de recursos
- Desenho de etapas de pré-processamento reutilizáveis e preparação de conjuntos de dados para pipelines de aprendizado de máquina
- Introdução à seleção de recursos (feature selection) e tratamento de conjuntos de dados desbalanceados
Módulo 5: Aprendizado de Máquina com Spark MLlib
- Compreensão da arquitetura do MLlib e do padrão Estimator/Transformer
- Treinamento de modelos de regressão e classificação em escala (Regressão Linear, Regressão Logística, Árvores de Decisão, Random Forest)
- Comparação de modelos e interpretação dos resultados em fluxos de trabalho de aprendizado de máquina distribuído
Módulo 6: Pipelines de ML Completo (End-to-End)
- Construção de pipelines de aprendizado de máquina completos, combinando pré-processamento, engenharia de recursos e modelagem
- Aplicação de estratégias de divisão dos dados em conjuntos de treinamento, validação e teste
- Execução de validação cruzada e ajuste de hiperparâmetros utilizando busca em grade (grid search) e busca aleatória (random search)
- Estruturação de experimentos de aprendizado de máquina reproduzíveis
Módulo 7: Avaliação de Modelos e Tomada de Decisões Práticas em ML
- Aplicação das métricas de avaliação adequadas para problemas de regressão e classificação
- Identificação de overfitting (sobreajuste) e underfitting (subajuste), além de tomada de decisões práticas na seleção de modelos
- Interpretação da importância dos recursos (feature importance) e compreensão do comportamento dos modelos
Módulo 8: Práticas de Produção e Corporativas
- Persistência e carregamento de modelos no Spark
- Implementação de fluxos de trabalho de inferência em lote (batch inference) sobre grandes conjuntos de dados
- Compreensão do ciclo de vida do aprendizado de máquina em ambientes corporativos
- Introdução ao versionamento, conceitos de rastreamento de experimentos e estratégias básicas de teste
Resultado Prático
- Capacidade de trabalhar de forma autônoma com PySpark
- Capacidade de processar grandes conjuntos de dados de maneira eficiente
- Capacidade de realizar engenharia de recursos (feature engineering) em escala
- Capacidade de construir pipelines de aprendizado de máquina escalonáveis
Requisitos
Os participantes devem ter a seguinte base de conhecimento:
Conhecimento básico de programação em Python, incluindo manipulação de funções, estruturas de dados e bibliotecas
Compreensão fundamental de conceitos de análise de dados, como conjuntos de dados, transformações e agregações
Conhecimento básico de SQL e conceitos de dados relacionais
Noções introdutórias sobre conceitos de aprendizado de máquina, como conjuntos de dados de treinamento, recursos (features) e métricas de avaliação
Recomenda-se familiaridade com ambientes de linha de comando e práticas básicas de desenvolvimento de software
A experiência com Pandas, NumPy ou bibliotecas similares de processamento de dados é benéfica, mas não obrigatória.
Testemunhos de Clientes (1)
Gostei do fato de ser prático. Adorei aplicar o conhecimento teórico com exemplos práticos.
Aurelia-Adriana - Allianz Services Romania
Curso - Python and Spark for Big Data (PySpark)
Máquina Traduzida