PySpark Fundamentals
v4.1 — Edizione 2026. Una guida completa a PySpark 4.1, che copre Spark Connect, DataFrames, tipi di dati complessi, trasformazioni dei dati, SQL, UDFs e profiling.
Episodi
Il problema dei Big Data e la promessa di PySpark
4m 07sStabiliamo la necessità fondamentale di PySpark. Scopri perché le librerie Python standard come Pandas falliscono su larga scala e come PySpark fornisce un motore di esecuzione distribuito per elaborare enormi dataset senza problemi.
La rivoluzione di Spark Connect
3m 28sEsplora l'architettura Spark Connect. Spieghiamo come PySpark ha disaccoppiato il client e il server, permettendoti di eseguire applicazioni Spark ovunque senza ingombranti dipendenze JVM.
DataFrames e Lazy Evaluation
4m 05sImmergiti nell'astrazione fondamentale di PySpark: il DataFrame. Discutiamo il concetto di lazy evaluation, la differenza tra trasformazioni e azioni, e perché Spark pianifica prima di eseguire.
Creare e visualizzare i DataFrames
3m 34sImpara come istanziare DataFrames da oggetti Python grezzi, dizionari e file, e come ispezionare in modo sicuro i tuoi dati distribuiti senza far crashare il tuo nodo driver.
Padroneggiare i Data Types di base
3m 42sUn tour dei tipi numerici e stringa fondamentali di PySpark. Esploriamo come definire esplicitamente gli schemi usando StructType e StructField per data pipelines robuste.
I pericoli della precisione
4m 21sScopri le differenze critiche tra FloatType, DoubleType e DecimalType. Impara perché scegliere il tipo numerico sbagliato può introdurre disastrosi errori di arrotondamento nei dati finanziari.
Domare dati complessi e annidati
4m 04sI Big Data non sono sempre piatti. Esploriamo i tipi di dati complessi di PySpark, inclusi ArrayType, StructType e MapType, che ti permettono di analizzare nativamente JSON profondamente annidati.
Type Casting e selezione
3m 34sImpara a modellare attivamente gli schemi dei tuoi DataFrame. Trattiamo come selezionare sottoinsiemi di colonne e come fare il cast sicuro delle colonne da un tipo di dato a un altro.
Function Junction: Pulire i dati sporchi
3m 58sGarbage in, garbage out. Impara le trasformazioni essenziali dei DataFrame per eliminare i valori nulli, riempire i valori mancanti e gestire i record NaN in modo nativo nei sistemi distribuiti.
Trasformare e rimodellare i dati
4m 19sPrendi il controllo della forma dei tuoi dati. Esploriamo come generare nuove colonne con funzioni matematiche, eseguire manipolazioni di stringhe e appiattire array annidati usando explode.
Le meccaniche di raggruppamento e aggregazione
3m 37sPadroneggia la strategia split-apply-combine. Ci immergiamo nel raggruppamento dei dati per chiavi e nell'applicazione di potenti funzioni di aggregazione per riassumere enormi dataset.
Quando i DataFrames si scontrano: L'arte del Joining
3m 39sNavigare tra le sfumature della combinazione di dataset. Analizziamo i sette diversi tipi di join in PySpark e spieghiamo come unire i DataFrames in modo sicuro.
Vecchio SQL, nuovi trucchi
3m 35sPerché imparare una nuova API quando puoi usare SQL grezzo? Impara a eseguire query SQL standard direttamente sui DataFrames distribuiti di PySpark.
Interscambiare DataFrames e SQL
3m 42sMescola e abbina SQL con Python senza problemi. Scopri come creare viste temporanee dai DataFrames, usare selectExpr e concatenare operazioni programmatiche ai risultati delle query SQL.
Estendere Spark con le UDFs di Python
3m 38sQuando le funzioni integrate non bastano, entrano in gioco le User-Defined Functions. Esploriamo come scrivere logica Python personalizzata per i DataFrames e perché le UDFs scalari standard nascondono una penalità di performance.
Potenziare le UDFs con Apache Arrow
3m 32sElimina il collo di bottiglia della serializzazione da JVM a Python. Scopriamo come le Vectorized Pandas UDFs e i formati di memoria di Apache Arrow potenziano le tue trasformazioni personalizzate.
Esplodere le righe con le UDTFs di Python
4m 03sLe UDFs standard restituiscono un valore per riga, ma cosa succede se hai bisogno di più righe? Impara come le User-Defined Table Functions (UDTFs) di Python risolvono complessi problemi di generazione uno-a-molti.
La Pandas API su Spark
4m 06sScala i tuoi script Pandas esistenti all'infinito. Scopri come l'API pyspark.pandas ti permette di eseguire la sintassi standard di Pandas in modo nativo su un cluster Spark distribuito.
Carica e ammira: Formati di archiviazione
3m 46sNon tutti i formati di file sono creati uguali. Confrontiamo i CSVs basati su righe con formati colonnari come Parquet e ORC, esplorando le opzioni di lettura/scrittura e le tecniche di archiviazione ottimali.
Bug Busting: Piani fisici e Joins
3m 15sDai un'occhiata sotto il cofano del motore di esecuzione di Spark. Impara a fare il debug delle query usando DataFrame.explain() e a eliminare i costosi shuffle usando i Broadcast joins.
Profiling della memoria e delle performance di PySpark
4m 14sConcludiamo il nostro viaggio in PySpark introducendo strumenti di profiling nativi. Impara a tracciare il consumo di memoria riga per riga e a esporre i traceback interni nascosti di Python.