PySpark Fundamentals
v4.1 — Edição de 2026. Um guia abrangente sobre o PySpark 4.1, que aborda o Spark Connect, DataFrames, tipos de dados complexos, transformações de dados, SQL, UDFs e profiling.
Episódios
O Problema do Big Data e a Promessa do PySpark
3m 54sEstabelecemos a necessidade fundamental do PySpark. Descubra por que razão bibliotecas padrão de Python como o Pandas falham em grande escala, e como o PySpark fornece um motor de execução distribuída para processar conjuntos de dados massivos de forma contínua.
A Revolução do Spark Connect
3m 16sExplore a arquitetura do Spark Connect. Explicamos como o PySpark separou o cliente e o servidor, permitindo-lhe executar aplicações Spark em qualquer lugar sem as pesadas dependências da JVM.
DataFrames e Lazy Evaluation
4m 23sMergulhe na abstração fundamental do PySpark: o DataFrame. Discutimos o conceito de lazy evaluation, a diferença entre transformações e ações, e por que razão o Spark planeia antes de executar.
Criar e Visualizar DataFrames
3m 36sAprenda a instanciar DataFrames a partir de objetos Python em bruto, dicionários e ficheiros, e como inspecionar com segurança os seus dados distribuídos sem bloquear o seu nó driver.
Dominar os Tipos de Dados Básicos
4m 19sUma visita guiada aos tipos numéricos e de strings fundamentais do PySpark. Exploramos como definir esquemas explicitamente usando StructType e StructField para pipelines de dados robustos.
Os Perigos da Precisão
4m 16sDescubra as diferenças críticas entre FloatType, DoubleType e DecimalType. Aprenda por que razão escolher o tipo numérico errado pode introduzir erros de arredondamento desastrosos em dados financeiros.
Dominar Dados Complexos e Aninhados
4m 20sO Big Data nem sempre é plano. Exploramos os tipos de dados complexos do PySpark, incluindo ArrayType, StructType e MapType, permitindo-lhe analisar nativamente JSON profundamente aninhado.
Type Casting e Seleção
3m 28sAprenda a moldar ativamente os esquemas do seu DataFrame. Abordamos como selecionar subconjuntos de colunas e como fazer o cast seguro de colunas de um tipo de dados para outro.
Junção de Funções: Limpeza de Dados Sujos
3m 51sLixo entra, lixo sai. Aprenda as transformações essenciais de DataFrames para remover nulos, preencher valores em falta e lidar com registos NaN nativamente em sistemas distribuídos.
Transformar e Remodelar Dados
3m 51sAssuma o controlo da forma dos seus dados. Exploramos como gerar novas colunas com funções matemáticas, realizar manipulações de strings e achatar arrays aninhados usando explode.
A Mecânica do Agrupamento e Agregação
3m 41sDomine a estratégia split-apply-combine. Mergulhamos no agrupamento de dados por chaves e na aplicação de poderosas funções de agregação para resumir conjuntos de dados massivos.
Quando os DataFrames Colidem: A Arte das Joins
3m 26sNavegar pelas nuances da combinação de conjuntos de dados. Detalhamos os sete tipos diferentes de joins no PySpark e explicamos como fundir DataFrames com segurança.
Velho SQL, Novos Truques
3m 53sPorquê aprender uma nova API quando pode usar SQL em bruto? Aprenda a executar queries SQL padrão diretamente contra DataFrames PySpark distribuídos.
Intercâmbio entre DataFrames e SQL
3m 39sMisture e combine SQL com Python de forma contínua. Descubra como criar temporary views a partir de DataFrames, usar selectExpr e encadear operações programáticas nos resultados de queries SQL.
Estender o Spark com Python UDFs
4m 04sQuando as funções integradas não são suficientes, as User-Defined Functions entram em ação. Exploramos como escrever lógica Python personalizada para DataFrames, e por que razão as UDFs escalares padrão escondem uma penalização de desempenho.
Turbinar UDFs com o Apache Arrow
3m 36sElimine o estrangulamento da serialização de JVM para Python. Revelamos como as Vectorized Pandas UDFs e os formatos de memória do Apache Arrow turbinam as suas transformações personalizadas.
Expandir Linhas com Python UDTFs
4m 00sAs UDFs padrão devolvem um valor por linha, mas e se precisar de várias linhas? Aprenda como as Python User-Defined Table Functions (UDTFs) resolvem problemas complexos de geração de um-para-muitos.
A Pandas API no Spark
3m 59sEscale os seus scripts Pandas existentes até ao infinito. Descubra como a API pyspark.pandas lhe permite executar a sintaxe padrão do Pandas nativamente num cluster Spark distribuído.
Carregar e Contemplar: Formatos de Armazenamento
3m 33sNem todos os formatos de ficheiro são criados da mesma forma. Contrastamos CSVs baseados em linhas com formatos colunares como Parquet e ORC, explorando opções de leitura/escrita e técnicas de armazenamento ideais.
Caça aos Bugs: Planos Físicos e Joins
3m 20sEspreite debaixo do capô do motor de execução do Spark. Aprenda a depurar queries usando DataFrame.explain() e como eliminar shuffles dispendiosos usando Broadcast joins.
Profiling de Memória e Desempenho no PySpark
4m 03sConcluímos a nossa jornada no PySpark introduzindo ferramentas nativas de profiling. Aprenda a acompanhar o consumo de memória linha a linha e a expor tracebacks internos ocultos do Python.