Intrati in legatura
 Durata 21 ore

Schița de curs

Modul 1: Fundamente Big Data & Spark

  • Prezentarea ecosistemului Big Data și rolul Spark în platformele moderne de date
  • Înțelegerea arhitecturii Spark: driver, executori, cluster manager, evaluare lazy, DAG și planificare a execuției
  • Diferențele dintre API-urile RDD și DataFrame și când să folosești fiecare abordare
  • Crierea și configurarea SparkSession și înțelegerea fundamentelor configurării aplicației

Modul 2: DataFrames PySpark

  • Reading and writing de date din surse enterprise și formate: CSV, JSON, Parquet și Delta
  • Lucrarea cu DataFrames PySpark: transformări, acțiuni, expresii pe coloane, filtrare, joins și agregări
  • Implementarea operațiilor avansate, cum ar fi funcții de fereastră, gestionarea timestamp-urilor și lucrul cu date imbricate
  • Aplicarea verificărilor de calitate a datelor și scrierea de cod PySpark reutilizabil și ușor de întreținut

Modul 3: Fundamente Kubernetes & Docker pentru utilizatorii Spark

  • Înțelegerea modului în care imaginile Docker și pod-urile Kubernetes se relatează cu procesele driver și executor ale Spark – o perspectivă conceptuală pentru utilizatorii clusterului, nu pentru administratori
  • Înțelegerea ceea ce se întâmplă când un job Spark se rulează pe Kubernetes: programarea pod-urilor, cerințele și limitările de resurse, și cum setările de sesiune se aplică acestora
  • Înțelegerea ceea ce controlezi tu prin parametrii de sesiune Spark, în contrast cu ceea ce echipa de platformă controlează prin provizionarea clusterului – și de ce această graniță este importantă pentru tuning
  • Exercițiu hands-on: Inspectează un job Spark-on-Kubernetes rulat într-un cluster sandbox și identifică pod-urile driver și executor

Modul 4: Configurarea sesiunii Spark pe Kubernetes – Aprofundare

  • Înțelegerea numărului de executori versus dimensiunea executorului: compromisuri între memorie și nuclee și cum să raționezi despre ele
  • Alocarea memoriei pentru driver și executor, overhead-ul de memorie și cum acestea se traduc în resurse de pod
  • Alocarea dinamică: cum se comportă pe Kubernetes, când salvează resurse și când nu o face
  • Exercițiu hands-on: Rulează același job cu configurații diferite de executori și nuclee și compară timpul de rulare și utilizarea resurselor

Modul 5: Comportament la scalare & Optimizarea costurilor

  • Înțelegerea modului în care adăugarea sau eliminarea nodurilor modifică comportamentul jobului, timpul de finalizare și consumul de resurse
  • Comparația a mulți executori mici versus puțini executori mari: compromisuri între performanță și cost
  • Comportamentul shuffle și tuning-ul partițiilor shuffle, inclusiv estimarea impactului în cost al alegerilor de configurare
  • Exercițiu hands-on: Scalăază clusterul sandbox de la cinci la zece noduri și observă efectul asupra timpului de finalizare a jobului și a consumului de resurse

Modul 6: Ingestionare eficientă a datelor & Partiționare

  • Înțelegerea problemei fișierelor mici: de ce sursele divizate în multe fișiere Parquet de 1–5 MB scad performanța și distorsionează partiționarea
  • Strategii de repartiționare și coalescing
  • Controlul dimensiunii partițiilor la citire și la scriere
  • Scrierea Parquet-ului eficient pentru a evita recrearea problemei fișierelor mici în aval
  • Exercițiu hands-on: Încarcă un dataset compus din multe partiții Parquet mici, aplică diferite strategii de repartiționare și compară performanța înainte și după optimizare

Modul 7: Managementul memoriei Pandas & Diagnosticarea eșecurilor

  • Înțelegerea cauzelor rădăcină ale erorilor de tip out-of-memory în Pandas și recunoașterea simptomelor
  • Aplicarea unor tipare de conversie eficiente din punct de vedere al memoriei între Spark și Pandas
  • Evitarea exploziilor de memorie la scrierea dataset-urilor mari în CSV
  • Folosirea procesării chunked și optimizării dtype pentru medii cu resurse limitate
  • Exercițiu hands-on: Reproduce un scenariu tipic de out-of-memory în Pandas și rezolvă-l folosind chunking și optimizarea dtype

Modul 8: Polars ca instrument complementar

  • Poziționarea Polars față de Pandas: caracteristici de performanță, evaluare lazy și comportamentul de memorie
  • Înțelegerea unde se potrivește Polars alături de PySpark și Pandas în stack-urile de date cloud moderne și în roadmap-urile de migrație, inclusiv în medii AWS
  • Exercițiu hands-on: Rescrie o transformare intensă în Pandas în Polars și compară utilizarea memoriei și viteza de procesare

Modul 9: Aplicarea optimizării în workload-uri ETL & ML

  • Aplicarea principiilor de configurare, partiționare și management al memoriei într-un pipeline ETL realist
  • Înțelegerea considerațiilor de optimizare specifice workload-urilor de machine learning care se rulează pe același cluster
  • Aplicarea unui workflow practic de tuning pentru a diagnostica sistematic problemele de cost și performanță
  • Exercițiu hands-on: Finalizează un mini-proiect end-to-end combinând încărcarea datelor, transformarea și un pas simplu de antrenare a modelului, cu participanții ajustând ei înșiși configurația Spark

Cerințe

Participanții ar trebui să aibă:

  • Experiență practică în programare Python, inclusiv funcții, module și concepte de bază de orientare spre obiecte.
  • Experiență de bază până la intermediară în lucrul cu Pandas și fluxuri de procesare a datelor tabulare.
  • Familiaritate de bază cu PySpark și DataFrames Spark, inclusiv citirea datelor, transformări, acțiuni, joins și agregări.
  • O înțelegere generală a SQL și a conceptelor de procesare a datelor, inclusiv filtrare, grupare și alăturarea dataset-urilor.
  • Familiaritate de bază cu conceptele Docker și Kubernetes, cum ar fi containere, imagini și pod-uri. Nu este necesară experiență în administrarea Kubernetes.
  • Înțelegere de bază a formatelor de date comune, cum ar fi CSV, JSON și Parquet.

Participanții nu trebuie să fie administratori Kubernetes sau specialişti în infrastructură. Cursul se concentrează asupra modului în care inginerii de date, dezvoltatorii și cercetătorii de date pot înțelege și optimiza workload-urile lor Spark rulate pe Kubernetes din perspectiva aplicației și a configurației.

Public Țintă

Acest curs este conceput pentru profesioniștii care dezvoltă, întrețin sau optimizează workload-uri de procesare a datelor și machine learning folosind Python și Spark în medii cloud sau containerizate.

Este deosebit de potrivit pentru:

  • Ingineri de Date care lucrează cu PySpark, procesare distribuită a datelor și pipeline-uri ETL.
  • Cercetători de Date care procesează seturi de date mari sau rulează workload-uri de machine learning cu Spark, Pandas sau Polars.
  • Dezvoltatori Python care lucrează cu aplicații intensive în date și care doresc să îmbunătățească eficiența memoriei și performanța de procesare.
  • Ingineri de Machine Learning care gestionează sarcini de pregătire a datelor și antrenare de modele pe medii Kubernetes sau cloud partajate.
  • Ingineri de Analytics care lucrează cu seturi de date mari și care doresc să îmbunătățească eficiența procesării datelor.
  • Ingineri DevOps, Platform și Cloud care sprijină workload-urile Spark pe Kubernetes și care trebuie să înțeleagă cum configurarea la nivel de aplicație afectează utilizarea resurselor și performanța.
  • Lead-urile Tehnice și Arhitecții de Soluții implicați în proiectarea sau optimizarea platformelor moderne de procesare a datelor.

Numărul de participanți


Pret per participant

Mărturii (1)

Cursuri viitoare

Categorii înrudite