Introduction aux DataFrames PySpark

Principes de Big Data 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 mieux la structure des données et des calculs

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

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

  • L'API DataFrame est offerte en Python, R, Scala et Java

  • Les DataFrames PySpark prennent en charge les requêtes SQL (SELECT * from table) et les méthodes d'expression (df.select())

Principes de Big Data 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 offre un point d'entrée unique pour interagir avec les DataFrames Spark

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

  • Dans l'interpréteur PySpark, SparkSession est disponible sous spark

Principes de Big Data avec PySpark

Créer des DataFrames dans PySpark

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

    • À partir de RDD existants avec la méthode createDataFrame() de SparkSession

    • À partir de sources de données (CSV, JSON, TXT) avec la méthode read de SparkSession

  • Le schéma régit les données et aide les DataFrames à optimiser les requêtes

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

Principes de Big Data 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 de Big Data avec PySpark

Créer un DataFrame en lisant 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 de Big Data avec PySpark

Passons à la pratique !

Principes de Big Data avec PySpark

Preparing Video For Download...