Course Code: pysprkub
Duration: 21 hours

Prerequisites:

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.

Overview:

Acest curs practic de trei zile se concentrează pe construirea și optimizarea workload-urilor eficiente de procesare a datelor, folosind PySpark, Pandas și Polars în medii bazate pe Kubernetes.

Vei dezvolta o înțelegere practică a modului în care aplicațiile Spark se execută pe Kubernetes și cum deciziile de configurare la nivel de aplicație influențează performanța, scalabilitatea, consumul de resurse și costurile. Cursul acoperă zone-cheie de optimizare, inclusiv dimensionarea executorilor, alocarea memoriei, alocarea dinamică, strategiile de partiționare, comportamentul shuffle, problemele legate de fișierele mici și procesarea eficientă a formatului Parquet.

De asemenea, cursul abordează provocările comune cu care te confrunți la lucrul cu Pandas, precum limitările de memorie și erorile de tip out-of-memory, și introduce Polars ca alternativă de înaltă performanță pentru anumite workload-uri de procesare a datelor. Prin exerciții hands-on, vei diagnostica problemele de performanță și de memorie, vei compara diferite strategii de configurare și vei aplica tehnici de optimizare în scenarii realiste de ETL și machine learning.

Accentul din tot cursul este pus pe luarea deciziilor practice: înțelegerea modului de identificare a blocajelor, selectarea instrumentului potrivit, configurarea eficientă a Spark și echilibrarea performanței cu consumul de resurse de infrastructură și costuri.

Course Outline:

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

Sites Published:

United Arab Emirates - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Qatar - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Egypt - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Saudi Arabia - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

South Africa - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Brasil - Processamento Eficiente de Dados no Kubernetes com PySpark, Pandas e Polars

Canada - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

中国 - 基于Kubernetes使用PySpark、Pandas和Polars实现高效数据处理

香港 - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

澳門 - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

台灣 - 使用PySpark、Pandas和Polars在Kubernetes上進行高效資料處理

USA - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Österreich - Effiziente Datenverarbeitung mit PySpark, Pandas und Polars auf Kubernetes

Schweiz - Effiziente Datenverarbeitung mit PySpark, Pandas und Polars auf Kubernetes

Deutschland - Effiziente Datenverarbeitung mit PySpark, Pandas und Polars auf Kubernetes

Czech Republic - Efektivní zpracování dat v Kubernetes pomocí PySpark, Pandas a Polars

Denmark - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Estonia - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Finland - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Greece - Αποτελεσματική Επεξεργασία Δεδομένων σε Kubernetes με PySpark, Pandas & Polars

Magyarország - Hatékony adatfeldolgozás Kubernetesben PySpark, Pandas és Polars segítségével

Ireland - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Luxembourg - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Latvia - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

España - Procesamiento de datos eficiente en Kubernetes con PySpark, Pandas y Polars

Italia - Elaborazione dati efficiente su Kubernetes con PySpark, Pandas e Polars

Lithuania - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Nederland - Efficiënte verwerking van data op Kubernetes met PySpark, Pandas & Polars

Norway - Effektiv databehandling på Kubernetes med PySpark, Pandas og Polars

Portugal - Processamento Eficiente de Dados no Kubernetes com PySpark, Pandas e Polars

România - Procesare eficientă a datelor pe Kubernetes cu PySpark, Pandas & Polars

Sverige - Effektiv datahantering med PySpark, Pandas och Polars på Kubernetes

Türkiye - Kubernetes Ortamında PySpark, Pandas ve Polars ile Verimli Veri İşleme

Malta - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Belgique - Traitement efficace des données sur Kubernetes avec PySpark, Pandas et Polars

France - Traitement efficace des données sur Kubernetes avec PySpark, Pandas et Polars

日本 - KubernetesにおけるPySpark、Pandas、Polarsによる効率的なデータ処理

Australia - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Malaysia - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

New Zealand - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Philippines - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Singapore - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Thailand - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Vietnam - Xử lý dữ liệu hiệu quả trên Kubernetes bằng PySpark, Pandas & Polars

India - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Argentina - Procesamiento de datos eficiente en Kubernetes con PySpark, Pandas y Polars

Chile - Procesamiento de datos eficiente en Kubernetes con PySpark, Pandas y Polars

Costa Rica - Procesamiento de datos eficiente en Kubernetes con PySpark, Pandas y Polars

Ecuador - Procesamiento de datos eficiente en Kubernetes con PySpark, Pandas y Polars

Guatemala - Procesamiento de datos eficiente en Kubernetes con PySpark, Pandas y Polars

Colombia - Procesamiento de datos eficiente en Kubernetes con PySpark, Pandas y Polars

México - Procesamiento de datos eficiente en Kubernetes con PySpark, Pandas y Polars

Panama - Procesamiento de datos eficiente en Kubernetes con PySpark, Pandas y Polars

Peru - Procesamiento de datos eficiente en Kubernetes con PySpark, Pandas y Polars

Uruguay - Procesamiento de datos eficiente en Kubernetes con PySpark, Pandas y Polars

Venezuela - Procesamiento de datos eficiente en Kubernetes con PySpark, Pandas y Polars

Polska - Skuteczne przetwarzanie danych w Kubernetesie z wykorzystaniem PySpark, Pandas i Polars

United Kingdom - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

South Korea - PySpark, Pandas 및 Polars를 활용한 Kubernetes에서 효율적인 데이터 처리

Pakistan - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Sri Lanka - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Bulgaria - Ефективна обработка на данни в Kubernetes с PySpark, Pandas и Polars

Bolivia - Procesamiento de datos eficiente en Kubernetes con PySpark, Pandas y Polars

Indonesia - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Kazakhstan - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Moldova - Procesare eficientă a datelor pe Kubernetes cu PySpark, Pandas & Polars

Morocco - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Tunisia - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Kuwait - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Oman - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Slovakia - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Kenya - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Nigeria - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Botswana - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Slovenia - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Croatia - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Serbia - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Bhutan - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Nepal - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Uzbekistan - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

US Government - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars