PySpark Fundamentals
v4.1 — Édition 2026. Un guide complet sur PySpark 4.1, couvrant Spark Connect, les DataFrames, les types de données complexes, les transformations de données, SQL, les UDFs et le profiling.
Épisodes
Le problème du Big Data et la promesse de PySpark
4m 06sNous établissons le besoin fondamental d'utiliser PySpark. Découvrez pourquoi les bibliothèques Python standards comme Pandas échouent à grande échelle, et comment PySpark fournit un moteur d'exécution distribué pour traiter des jeux de données massifs en toute fluidité.
La révolution Spark Connect
3m 05sExplorez l'architecture Spark Connect. Nous expliquons comment PySpark a découplé le client et le serveur, vous permettant d'exécuter des applications Spark n'importe où sans les lourdes dépendances de la JVM.
DataFrames et évaluation paresseuse
3m 56sPlongez dans l'abstraction fondamentale de PySpark : le DataFrame. Nous abordons le concept d'évaluation paresseuse, la différence entre les transformations et les actions, et pourquoi Spark planifie avant d'exécuter.
Création et visualisation de DataFrames
3m 21sApprenez à instancier des DataFrames à partir d'objets Python bruts, de dictionnaires et de fichiers, et comment inspecter en toute sécurité vos données distribuées sans faire planter votre nœud driver.
Maîtriser les types de données de base
3m 41sUn tour d'horizon des types numériques et chaînes de caractères fondamentaux de PySpark. Nous explorons comment définir explicitement des schémas à l'aide de StructType et StructField pour des pipelines de données robustes.
Les périls de la précision
3m 53sDécouvrez les différences critiques entre FloatType, DoubleType et DecimalType. Apprenez pourquoi le choix d'un mauvais type numérique peut introduire des erreurs d'arrondi désastreuses dans les données financières.
Apprivoiser les données complexes et imbriquées
3m 34sLe Big Data n'est pas toujours plat. Nous explorons les types de données complexes de PySpark, notamment ArrayType, StructType et MapType, vous permettant d'analyser nativement du JSON profondément imbriqué.
Conversion de types et sélection
3m 17sApprenez à modeler activement les schémas de vos DataFrames. Nous couvrons la sélection de sous-ensembles de colonnes et la manière de convertir en toute sécurité des colonnes d'un type de données à un autre.
Carrefour des fonctions : Nettoyer les données sales
3m 34sÀ données inexactes, résultats erronés. Apprenez les transformations essentielles des DataFrames pour supprimer les valeurs nulles, remplir les valeurs manquantes et gérer les enregistrements NaN nativement dans les systèmes distribués.
Transformer et remodeler les données
3m 45sPrenez le contrôle de la forme de vos données. Nous explorons comment générer de nouvelles colonnes avec des fonctions mathématiques, effectuer des manipulations de chaînes de caractères et aplatir des tableaux imbriqués à l'aide de explode().
La mécanique du regroupement et de l'agrégation
3m 12sMaîtrisez la stratégie split-apply-combine. Nous nous plongeons dans le regroupement de données par clés et l'application de puissantes fonctions d'agrégation pour résumer des jeux de données massifs.
Quand les DataFrames entrent en collision : L'art des jointures
3m 32sNaviguer dans les nuances de la combinaison de jeux de données. Nous détaillons les sept différents types de jointures dans PySpark et expliquons comment fusionner des DataFrames en toute sécurité.
Vieux SQL, nouvelles astuces
3m 12sPourquoi apprendre une nouvelle API quand vous pouvez utiliser du SQL brut ? Apprenez à exécuter des requêtes SQL standards directement sur des DataFrames PySpark distribués.
Interchanger DataFrames et SQL
3m 27sMélangez et associez SQL et Python en toute fluidité. Découvrez comment créer des vues temporaires à partir de DataFrames, utiliser selectExpr et enchaîner des opérations programmatiques sur les résultats de requêtes SQL.
Étendre Spark avec les UDFs Python
3m 20sLorsque les fonctions intégrées ne suffisent pas, les User-Defined Functions entrent en jeu. Nous explorons comment écrire une logique Python personnalisée pour les DataFrames, et pourquoi les UDFs scalaires standards cachent une pénalité de performance.
Booster les UDFs avec Apache Arrow
3m 12sÉliminez le goulot d'étranglement de la sérialisation JVM vers Python. Nous découvrons comment les Vectorized Pandas UDFs et les formats de mémoire Apache Arrow boostent vos transformations personnalisées.
Exploser les lignes avec les UDTFs Python
3m 47sLes UDFs standards renvoient une valeur par ligne, mais que faire si vous avez besoin de plusieurs lignes ? Apprenez comment les Python User-Defined Table Functions (UDTFs) résolvent les problèmes complexes de génération un-à-plusieurs.
L'API Pandas sur Spark
3m 34sMettez à l'échelle vos scripts Pandas existants à l'infini. Découvrez comment l'API pyspark.pandas vous permet d'exécuter la syntaxe Pandas standard nativement sur un cluster Spark distribué.
Chargement et formats de stockage
3m 22sTous les formats de fichiers ne se valent pas. Nous comparons les CSV orientés lignes avec les formats orientés colonnes comme Parquet et ORC, en explorant les options de lecture/écriture et les techniques de stockage optimales.
Chasse aux bugs : Plans physiques et jointures
3m 06sJetez un coup d'œil sous le capot du moteur d'exécution de Spark. Apprenez à déboguer les requêtes en utilisant DataFrame.explain() et à éliminer les shuffles coûteux en utilisant les broadcast joins.
Profiling de la mémoire et des performances de PySpark
3m 38sNous concluons notre voyage PySpark en présentant des outils de profiling natifs. Apprenez à suivre la consommation de mémoire ligne par ligne et à exposer les tracebacks internes cachés de Python.