PySpark Fundamentals
v4.1 — Ediția 2026. Un ghid complet pentru PySpark 4.1, care acoperă Spark Connect, DataFrames, tipuri de date complexe, transformări de date, SQL, UDFs și profiling.
Episoade
Problema Big Data și promisiunea PySpark
3m 59sStabilim nevoia fundamentală pentru PySpark. Descoperă de ce bibliotecile Python standard precum Pandas eșuează la scară largă și cum PySpark oferă un motor de execuție distribuit pentru a procesa seturi masive de date fără probleme.
Revoluția Spark Connect
2m 52sExplorează arhitectura Spark Connect. Explicăm modul în care PySpark a decuplat clientul de server, permițându-ți să rulezi aplicații Spark oriunde, fără dependențe JVM voluminoase.
DataFrames și Lazy Evaluation
4m 07sAprofundează abstracția fundamentală a PySpark: DataFrame. Discutăm despre conceptul de lazy evaluation, diferența dintre transformări și acțiuni, și de ce Spark își face un plan înainte de a executa.
Crearea și vizualizarea DataFrames
3m 41sÎnvață cum să instanțiezi DataFrames din obiecte Python brute, dicționare și fișiere, și cum să inspectezi în siguranță datele distribuite fără a bloca nodul driver.
Stăpânirea tipurilor de date de bază
4m 01sUn tur al tipurilor fundamentale numerice și de șiruri de caractere din PySpark. Explorăm cum să definim explicit schemele folosind StructType și StructField pentru conducte de date (data pipelines) robuste.
Pericolele preciziei
4m 10sDescoperă diferențele critice dintre FloatType, DoubleType și DecimalType. Învață de ce alegerea unui tip numeric greșit poate introduce erori de rotunjire dezastruoase în datele financiare.
Îmblânzirea datelor complexe și imbricate
4m 08sDatele masive nu sunt întotdeauna plate. Explorăm tipurile de date complexe din PySpark, inclusiv ArrayType, StructType și MapType, care îți permit să analizezi nativ structuri JSON profund imbricate.
Conversia tipurilor (Type Casting) și selecția
3m 29sÎnvață cum să modelezi activ schemele DataFrame. Acoperim modul de selectare a subseturilor de coloane și cum să convertești în siguranță coloanele de la un tip de date la altul.
Intersecția funcțiilor: Curățarea datelor murdare
3m 42sGarbage in, garbage out. Învață transformările esențiale DataFrame pentru eliminarea valorilor nule, completarea valorilor lipsă și gestionarea înregistrărilor NaN în mod nativ în sistemele distribuite.
Transformarea și remodelarea datelor
4m 28sPreia controlul asupra formei datelor tale. Explorăm cum să generezi coloane noi cu funcții matematice, să efectuezi manipulări de șiruri de caractere și să aplatizezi array-uri imbricate folosind explode.
Mecanica grupării și agregării
3m 44sStăpânește strategia split-apply-combine. Aprofundăm gruparea datelor după chei și aplicarea unor funcții puternice de agregare pentru a rezuma seturi masive de date.
Când DataFrames se ciocnesc: Arta asocierii (Joining)
3m 55sNavigăm prin nuanțele combinării seturilor de date. Detaliem cele șapte tipuri diferite de join din PySpark și explicăm cum să îmbini DataFrames în siguranță.
SQL vechi, trucuri noi
3m 07sDe ce să înveți un API nou când poți folosi SQL brut? Învață cum să execuți interogări SQL standard direct pe PySpark DataFrames distribuite.
Interschimbarea DataFrames și SQL
3m 44sCombină SQL cu Python fără probleme. Descoperă cum să creezi vizualizări temporare (temporary views) din DataFrames, să folosești selectExpr și să înlănțui operațiuni programatice pe rezultatele interogărilor SQL.
Extinderea Spark cu Python UDFs
3m 51sCând funcțiile încorporate nu sunt suficiente, intervin User-Defined Functions. Explorăm cum să scrii o logică Python personalizată pentru DataFrames și de ce UDFs scalare standard ascund o penalizare de performanță.
Accelerarea UDFs cu Apache Arrow
3m 59sElimină blocajul de serializare JVM-to-Python. Descoperim cum Vectorized Pandas UDFs și formatele de memorie Apache Arrow îți accelerează masiv transformările personalizate.
Explodarea rândurilor cu Python UDTFs
4m 25sUDFs standard returnează o valoare pe rând, dar ce faci dacă ai nevoie de mai multe rânduri? Învață cum Python User-Defined Table Functions (UDTFs) rezolvă probleme complexe de generare one-to-many.
API-ul Pandas pe Spark
3m 42sScalează-ți scripturile Pandas existente la infinit. Descoperă cum API-ul pyspark.pandas îți permite să execuți sintaxa Pandas standard în mod nativ pe un cluster Spark distribuit.
Încarcă și privește: Formate de stocare
3m 58sNu toate formatele de fișiere sunt create la fel. Contrastăm fișierele CSV bazate pe rânduri cu formatele columare precum Parquet și ORC, explorând opțiunile de citire/scriere și tehnicile optime de stocare.
Vânătoarea de bug-uri: Planuri fizice și Joins
3m 05sAruncă o privire sub capota motorului de execuție Spark. Învață cum să depanezi interogările folosind DataFrame.explain() și cum să elimini amestecările (shuffles) costisitoare folosind Broadcast joins.
Profiling pentru memoria și performanța PySpark
3m 41sÎncheiem călătoria noastră PySpark prin introducerea instrumentelor native de profiling. Învață cum să urmărești consumul de memorie linie cu linie și să expui traceback-urile interne Python ascunse.