Introduction aux DataFrames PySpark

Introduction à PySpark

Benjamin Schmidt

Data Engineer

À propos des DataFrames

  • DataFrames : Format tabulaire (lignes/colonnes)
  • Prend en charge les opérations similaires à SQL
  • Comparable à un DataFrame Pandas ou une TABLE SQL
  • Données structurées

Dataframes

Introduction à PySpark

Créer des DataFrames à partir de fichiers

# Créer un DataFrame à partir d'un CSV
census_df = spark.read.csv('path/to/census.csv', header=True, inferSchema=True)
Introduction à PySpark

Afficher le DataFrame

# Afficher les 5 premières lignes du DataFrame
census_df.show()


   age  education.num marital.status         occupation income
0   90              9        Widowed                  ?  <=50K
1   82              9        Widowed    Exec-managerial  <=50K
2   66             10        Widowed                  ?  <=50K
3   54              4       Divorced  Machine-op-inspct  <=50K
4   41             10      Separated     Prof-specialty  <=50K
Introduction à PySpark

Afficher le schéma du DataFrame

# Afficher le schéma
census_df.printSchema()

Output: root |-- age: integer (nullable = true) |-- education.num: integer (nullable = true) |-- marital.status: string (nullable = true) |-- occupation: string (nullable = true) |-- income: string (nullable = true)
Introduction à PySpark

Analyses de base sur les DataFrames PySpark

# .count() renvoie le nombre total de lignes dans le DataFrame
row_count = census_df.count()
print(f'Nombre de lignes : {row_count}')
# groupby() permet d'utiliser des agrégations similaires à SQL
census_df.groupBy('gender').agg({'salary_usd': 'avg'}).show()

Autres fonctions d'agrégation :

  • sum()
  • min()
  • max()
Introduction à PySpark

Fonctions clés pour l'analyse PySpark

  • .select() : Sélectionne des colonnes spécifiques du DataFrame
  • .filter() : Filtre les lignes selon des conditions spécifiques
  • .groupBy() : Regroupe les lignes selon une ou plusieurs colonnes
  • .agg() : Applique des fonctions d'agrégation aux données groupées
Introduction à PySpark

Exemple de fonctions clés

# En utilisant filter et select, nous pouvons affiner notre DataFrame
filtered_census_df = census_df.filter(df['age'] > 50).select('age', 'occupation')
filtered_census_df.show()

Output +---+------------------+ |age| occupation | +---+------------------+ | 90| ?| | 82| Exec-managerial| | 66| ?| | 54| Machine-op-inspct| +---+------------------+
Introduction à PySpark

Passons à la pratique !

Introduction à PySpark

Preparing Video For Download...