Introduzione a PySpark

Introduzione a PySpark

Benjamin Schmidt

Data Engineer

Conosci il tuo istruttore

  • Quasi un decennio di esperienza con PySpark
  • Usato PySpark per Machine Learning, ETL e molto altro

  • Insegnante appassionato di nuovi strumenti per tutti!

-Ben Schmidt

Introduzione a PySpark

Cos'è PySpark?

  • Elaborazione dati distribuita: Progettata per gestire grandi dataset su cluster

  • Supporta vari formati dati inclusi CSV, Parquet e JSON

  • Integrazione SQL permette di interrogare i dati usando sia Python che SQL

  • Ottimizzato per velocità su larga scala

Data_ecosystem

Introduzione a PySpark

Quando usare PySpark?

  • Analisi di big data

  • Elaborazione dati distribuita

  • Streaming dati in tempo reale

  • Machine learning su grandi dataset

  • Pipeline ETL ed ELT

  • Lavorare con fonti dati diverse:

    1. CSV
    2. JSON
    3. Parquet
    4. Molti altri
Introduzione a PySpark

Cluster Spark

Nodo Master

  • Gestisce il cluster, coordina i compiti e pianifica i lavori

Nodi Worker

  • Eseguono i compiti assegnati dal master
  • Responsabili dell'esecuzione dei calcoli e della memorizzazione dei dati in memoria o su disco

Nodo master

Nodo worker

Introduzione a PySpark

SparkSession

  • SparkSessions ti permettono di accedere al tuo cluster Spark e sono essenziali per usare PySpark.
# Importa SparkSession
from pyspark.sql import SparkSession

# Inizializza una SparkSession
spark = SparkSession.builder.appName("MySparkApp").getOrCreate()

$$

  • .builder() imposta una sessione
  • getOrCreate() crea o recupera una sessione
  • .appName() aiuta a gestire più sessioni
Introduzione a PySpark

DataFrame PySpark

  • Simili ad altri DataFrame ma
  • Ottimizzati per PySpark
# Importa e inizializza una sessione Spark
from pyspark.sql import SparkSession
spark = SparkSession.builder.appName("MySparkApp").getOrCreate()

# Crea un DataFrame
census_df = spark.read.csv("census.csv",
                ["gender","age","zipcode","salary_range_usd","marriage_status"])

# Mostra il DataFrame
census_df.show()

Introduzione a PySpark

Facciamo pratica!

Introduzione a PySpark

Preparing Video For Download...