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