Entrar em Contato
 Duração 21 horas

Programa do Curso

Módulo 1: Fundamentos de Big Data e Spark

  • Visão geral do ecossistema de Big Data e o papel do Spark em plataformas de dados modernas
  • Entendendo a 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 de RDD e DataFrame e quando usar cada abordagem
  • Criação e configuração de SparkSession e compreensão dos fundamentos da configuração de aplicativos

Módulo 2: DataFrames no PySpark

  • Leitura e escrita de dados a partir de fontes e formatos empresariais: CSV, JSON, Parquet e Delta
  • Trabalhando com DataFrames no PySpark: transformações, ações, expressões de colunas, filtragem, junções e agregações
  • Implementando operações avançadas, como funções de janela, tratamento de timestamps e trabalho com dados aninhados
  • Aplicando verificações de qualidade de dados e escrevendo código PySpark reutilizável e mantenhível

Módulo 3: Fundamentos de Kubernetes e Docker para Usuários de Spark

  • Entendendo como as imagens Docker e os pods do Kubernetes se relacionam com os processos de driver e executor do Spark — uma visão conceitual para consumidores do cluster, não administradores
  • Entendendo o que acontece quando um trabalho Spark é executado no Kubernetes: agendamento de pods, solicitações e limites de recursos e como as configurações de sessão mapeiam sobre eles
  • Entendendo o que você controla através dos parâmetros de sessão do Spark versus o que a equipe de plataforma controla através do provisionamento do cluster — e por que essa fronteira é importante para o ajuste fino (tuning)
  • Exercício prático: Inspecionar um trabalho Spark-on-Kubernetes em execução no cluster de sandbox e identificar os pods de driver e executor

Módulo 4: Configuração de Sessão do Spark no Kubernetes — Análise Detalhada

  • Entendendo contagem de executores versus tamanho do executor: compensações entre memória e núcleos e como raciocinar sobre elas
  • Alocação de memória para driver e executores, sobrecarga de memória (memory overhead) e como essas se traduzem em recursos de pod
  • Alocação dinâmica: como ela se comporta no Kubernetes, quando salva recursos e quando não salva
  • Exercício prático: Executar o mesmo trabalho sob diferentes configurações de executores e núcleos e comparar tempo de execução e uso de recursos

Módulo 5: Comportamento de Escala e Otimização de Custos

  • Entendendo como a adição ou remoção de nós altera o comportamento do trabalho, o tempo de conclusão e o consumo de recursos
  • Comparando muitos executores pequenos versus menos executores grandes: compensações entre desempenho e custo
  • Comportamento de shuffle e ajuste de partições de shuffle, incluindo estimativa do impacto no custo das escolhas de configuração
  • Exercício prático: Escalar o cluster de sandbox de cinco para dez nós e observar o efeito no tempo de conclusão do trabalho e no consumo de recursos

Módulo 6: Ingestão Eficiente de Dados e Particionamento

  • Entendendo o problema dos pequenos arquivos: por que fontes divididas em muitos arquivos Parquet de 1–5 MB degradam o desempenho e distorcem o particionamento
  • Estratégias de reparticionamento e coalescimento
  • Controlando o tamanho das partições na leitura e na escrita
  • Escrita eficiente de Parquet para evitar a recreação do problema de pequenos arquivos a jusante
  • Exercício prático: Carregar um conjunto de dados composto por muitas pequenas partições Parquet, aplicar diferentes estratégias de reparticionamento e comparar o desempenho antes e depois da otimização

Módulo 7: Gerenciamento de Memória do Pandas e Diagnóstico de Falhas

  • Entendendo as causas raiz de erros de memória insuficiente (out-of-memory) no Pandas e reconhecendo os sintomas
  • Aplicando padrões de conversão eficientes em memória entre Spark e Pandas
  • Evitando explosões de memória ao escrever grandes conjuntos de dados em CSV
  • Usando processamento em lotes (chunked processing) e otimização de dtype para ambientes restritos
  • Exercício prático: Reprodzir um cenário típico de memória insuficiente no Pandas e resolvê-lo usando processamento em lotes e otimização de dtype

Módulo 8: Polars como Ferramenta Complementar

  • Posicionamento do Polars em relação ao Pandas: características de desempenho, avaliação preguiçosa e comportamento de memória
  • Entendendo onde o Polars se encaixa junto com PySpark e Pandas em pilhas de dados em nuvem modernas e mapas de migração, incluindo ambientes AWS
  • Exercício prático: Reescrever uma transformação intensiva em Pandas no Polars e comparar o uso de memória e a velocidade de processamento

Módulo 9: Aplicando Otimização a Cargas de Trabalho ETL e de ML

  • Aplicando princípios de configuração, particionamento e gerenciamento de memória em um pipeline ETL realista
  • Entendendo considerações de otimização específicas para cargas de trabalho de aprendizado de máquina executadas no mesmo cluster
  • Aplicando um fluxo de trabalho prático de ajuste fino para diagnosticar sistematicamente problemas de custo e desempenho
  • Exercício prático: Concluir um mini-projeto de ponta a ponta combinando carga de dados, transformação e uma etapa simples de treinamento de modelo, com os participantes ajustando a configuração do Spark por conta própria

Requisitos

Os participantes devem ter:

  • Experiência prática com programação em Python, incluindo funções, módulos e conceitos básicos de orientação a objetos.
  • Experiência básica a intermediária no trabalho com Pandas e fluxos de trabalho de processamento de dados tabulares.
  • Familiaridade básica com PySpark e DataFrames do Spark, incluindo leitura de dados, transformações, ações, junções e agregações.
  • Compreensão geral de conceitos de SQL e processamento de dados, incluindo filtragem, agrupamento e junção de conjuntos de dados.
  • Familiaridade básica com conceitos de Docker e Kubernetes, como contêineres, imagens e pods. Não é necessária experiência em administração de Kubernetes.
  • Compreensão básica de formatos de dados comuns, como CSV, JSON e Parquet.

Os participantes não precisam ser administradores de Kubernetes ou especialistas em infraestrutura. O curso foca em como engenheiros de dados, desenvolvedores e cientistas de dados podem entender e otimizar suas cargas de trabalho Spark executadas no Kubernetes sob a perspectiva de aplicativo e configuração.

Público-Alvo

Este curso é projetado para profissionais que desenvolvem, mantêm ou otimizam cargas de trabalho de processamento de dados e aprendizado de máquina usando Python e Spark em ambientes de nuvem ou containerizados.

É particularmente adequado para:

  • Engenheiros de Dados que trabalham com PySpark, processamento de dados distribuídos e pipelines ETL.
  • Cientistas de Dados que processam grandes conjuntos de dados ou executam cargas de trabalho de aprendizado de máquina com Spark, Pandas ou Polars.
  • Desenvolvedores Python que trabalham com aplicativos intensivos em dados e buscam melhorar a eficiência de memória e o desempenho do processamento.
  • Engenheiros de Aprendizado de Máquina que gerenciam cargas de trabalho de preparação de dados e treinamento de modelos em ambientes Kubernetes ou de nuvem compartilhados.
  • Engenheiros Analíticos que trabalham com grandes conjuntos de dados e buscam melhorar a eficiência do processamento de dados.
  • Engenheiros DevOps, de Plataforma e de Nuvem que dão suporte a cargas de trabalho Spark no Kubernetes e precisam entender como a configuração em nível de aplicativo afeta o uso de recursos e o desempenho.
  • Coordenadores Técnicos e Arquitetos de Soluções envolvidos no projeto ou otimização de plataformas modernas de processamento de dados.

Treinamento Corporativo Personalizado

Soluções de treinamento projetadas exclusivamente para empresas.

  • Conteúdo Personalizado: Adaptamos o programa e os exercícios práticos aos objetivos e necessidades reais do seu projeto.
  • Horário Flexível: Datas e horários adaptados à agenda da sua equipe.
  • Formato: Online (ao vivo), In-Company (em suas instalações) ou Híbrido.
Investimento

Preço por grupo privado, treinamento online ao vivo, a partir de 3900 € + VAT*

Entre em contato conosco para obter um orçamento preciso e conhecer nossas promoções mais recentes

Testemunhos de Clientes (1)

Próximas Formações Provisórias

Categorias Relacionadas