Introduction aux DataFrames PySpark

Principes fondamentaux des mégadonnées avec PySpark

Upendra Devisetty

Science Analyst, CyVerse

Qu’est‑ce qu’un DataFrame PySpark ?

  • PySpark SQL est une bibliothèque Spark pour les données structurées. Elle décrit la structure des données et du calcul

  • Un DataFrame PySpark est une collection distribuée immuable avec des colonnes nommées

  • Conçu pour traiter des données structurées (ex. base relationnelle) et semi-structurées (ex. JSON)

  • L’API DataFrame existe en Python, R, Scala et Java

  • Les DataFrames PySpark acceptent les requêtes SQL (SELECT * from table) et les méthodes d’expressions (df.select())

Principes fondamentaux des mégadonnées avec PySpark

SparkSession – point d’entrée de l’API DataFrame

  • SparkContext est le point d’entrée principal pour créer des RDD

  • SparkSession fournit un point d’accès unique pour manipuler les DataFrames Spark

  • SparkSession sert à créer des DataFrames, les enregistrer et exécuter des requêtes SQL

  • Dans le shell PySpark, SparkSession est accessible via spark

Principes fondamentaux des mégadonnées avec PySpark

Créer des DataFrames dans PySpark

  • Deux façons de créer des DataFrames dans PySpark

    • À partir de RDD existants avec SparkSession.createDataFrame()

    • À partir de sources (CSV, JSON, TXT) avec SparkSession.read

  • Le schéma contrôle les données et aide à optimiser les requêtes

  • Le schéma indique le nom des colonnes, le type, les valeurs vides, etc.

Principes fondamentaux des mégadonnées avec PySpark

Créer un DataFrame à partir d’un RDD

iphones_RDD = sc.parallelize([
    ("XS", 2018, 5.65, 2.79, 6.24),
    ("XR", 2018, 5.94, 2.98, 6.84),
    ("X10", 2017, 5.65, 2.79, 6.13),
    ("8Plus", 2017, 6.23, 3.07, 7.12)
])
names = ['Model', 'Year', 'Height', 'Width', 'Weight']
iphones_df = spark.createDataFrame(iphones_RDD, schema=names)

type(iphones_df)
pyspark.sql.dataframe.DataFrame
Principes fondamentaux des mégadonnées avec PySpark

Créer un DataFrame depuis un CSV/JSON/TXT

df_csv = spark.read.csv("people.csv", header=True, inferSchema=True)
df_json = spark.read.json("people.json")
df_txt = spark.read.txt("people.txt")
  • Chemin du fichier et deux paramètres optionnels

  • Deux paramètres optionnels

    • header=True, inferSchema=True
Principes fondamentaux des mégadonnées avec PySpark

Passons à la pratique !

Principes fondamentaux des mégadonnées avec PySpark

Preparing Video For Download...