Course Code: pysprkub
Duration: 21 hours
Prerequisites:
Az elvárások a résztvevőkkel szemben:
- Gyakorlati tapasztalat a Python programozásban, beleértve a függvényeket, modulokat és az alapvető objektumorientált fogalmakat.
- Alapszintű vagy középhaladó szintű tapasztalat a Pandas használatában és az asztalos adatfeldolgozási munkafolyamatokban.
- Alapszintű ismeret a PySpark és a Spark DataFrame működésével kapcsolatban, beleértve az adatok beolvasását, átalakításokat, műveleteket, csatlakoztatásokat és aggregálásokat.
- Általános ismeret a SQL és az adatfeldolgozási fogalmakról, beleértve a szűrést, csoportosítást és az adathalmazok csatlakoztatását.
- Alapszintű ismeret a Docker és Kubernetes fogalmokról, például a konténerekről, a képekről és a podokról. Nem szükséges Kubernetes-adminisztrációs tapasztalat.
- Alapvető megértése a gyakori adatformátumoknak, mint például a CSV, JSON és Parquet.
A résztvevőknek nem kell Kubernetes-adminisztrátoroknak vagy infrastruktúra-specialistáknak lenniük. A tanfolyam arra fókuszál, hogy az adatmérnökök, fejlesztők és adattudósok megértsék és optimalizálhassák a Kubernetesben futó Spark munkafolyamataikat az alkalmazás és a konfiguráció szempontjából.
Célközönség
Ez a tanfolyam azoknak a szakembereknek készült, akik Pythonnal és Sparkkal fejlesztnek, karbantartanak vagy optimalizálnak adatfeldolgozási és gépi tanulási munkafolyamatokat felhő- vagy konténer-alapú környezetekben.
Különösen alkalmas a következőknek:
- Adatmérnökök PySparkkal, elosztott adatfeldolgozással és ETL csővezetékekkel foglalkozva.
- Adattudósok, akik nagy adathalmazokat dolgoznak fel, vagy Sparkkal, Pandasszal vagy Polars-szal futtatnak ML feladatokat.
- Python fejlesztők, akik adatintenzív alkalmazásokon dolgoznak, és javítani kívánják a memória-hatékonyságot és a feldolgozási teljesítményt.
- Gépi tanulási mérnökök, akik adatelőkészítési és modellbetanítási feladatokat kezelnek megosztott Kubernetes- vagy felhő-környezetben.
- Analitikai mérnökök, akik nagy adathalmazokkal dolgoznak, és az adatfeldolgozási hatékonyság növelését célozzák.
- DevOps, Platform és Felhő-mérnökök, akik Spark munkafolyamatokat támogatnak a Kubernetesben, és megértik, hogyan befolyásolja az alkalmazásszintű konfiguráció az erőforrás-használatot és a teljesítményt.
- Tech vezetők és Megoldásarchitektusok, akik modern adatfeldolgozási platformok tervezésében vagy optimalizálásában vesznek részt.
Overview:
Ez a háromnapos gyakorlati tanfolyam a PySpark, Pandas és Polars használatára fókuszál a Kubernetes-alapú környezetekben történő hatékony adatfeldolgozó munkafolyamatok létrehozásában és optimalizálásában.
A résztvevők gyakorlati betekintést nyernek abba, hogyan futnak a Spark alkalmazások a Kubernetesben, és hogyan befolyásolják az alkalmazásszintű konfigurációs döntések a teljesítményt, a méretezhetőséget, az erőforrás-igényt és a költségeket. A kurzus a kulcsfontosságú optimalizálási területeket is áttekinti, köztük az executor méretezést, a memória-allokációt, a dinamikus allokációt, a partícionálási stratégiákat, a shuffle viselkedést, a kisfájlok problémáját és a hatékony Parquet feldolgozást.
A tanfolyam emellett foglalkozik a Pandas használatával járó gyakori kihívásokkal, például a memória-korlátokkal és az OOM (out-of-memory) hibákkal, valamint bevezeti a Polars-t, mint magas teljesítményű alternatívát a kijelölt adatfeldolgozási feladatokra. A gyakorlati feladatok során a résztvevők diagnosztizálják a teljesítmény- és memória-problémákat, összehasonlítják a különböző konfigurációs stratégiákat, és alkalmazzák az optimalizálási technikákat realisztikus ETL és gépi tanulási (ML) jelenetekben.
A tanfolyam fókusa végig a gyakorlati döntéshozatalon van: az üüklakók azonosításának megértése, a megfelelő eszköz kiválasztása, a Spark hatékony konfigurálása, valamint a teljesítmény és az infrastruktúra-erőforrás-felhasználás költségeinek kiegyensúlyozása.
Course Outline:
1. modul: Nagy adathalmazok és Spark alapok
- A Big Data ökoszisztéma áttekintése és a Spark szerepe a modern adatplatformokon
- A Spark architektúra megértése: driver, executorok, klüstermenedzser, lazy evaluation, DAG és végrehajtási tervezés
- Különbségek az RDD és a DataFrame API között, és mikor melyik megközelítést érdemes használni
- SparkSession létrehozása és konfigurálása, valamint az alkalmazás konfiguráció alapjainak megértése
2. modul: PySpark DataFrames
- Adatok beolvasása és írása vállalati forrásokból és formátumokból: CSV, JSON, Parquet és Delta
- Műveletek PySpark DataFrame-ekkel: átalakítások, műveletek, oszlop-kifejezések, szűrés, csatlakoztatások és aggregálás
- Haladott műveletek implementálása, mint pl. ablakfüggvények, időbélyegek kezelése és beágyazott adatokkal való munka
- Adatminőségi ellenőrzések alkalmazása és újrahasznosítható, karbantartható PySpark kód írása
3. modul: Kubernetes és Docker alapok Spark felhasználóknak
- Megértés, hogyan kapcsolódnak a Docker képek és a Kubernetes podok a Spark driver és executor folyamatokhoz – a klüster felhasználóinak, nem az adminisztrátoroknak szánt koncepciális nézet
- Megértés, mi történik, amikor egy Spark feladat fut a Kubernetesben: pod ütemezés, erőforrás-kérések és korlátok, valamint hogyan tükröződnek ezek a session beállításokban
- Megértés, mit irányíthat a Spark session paramétereken keresztül, és mit a platformcsapat a klüster-provisionálás során – és miért fontos ez a határvonal a tuning szempontjából
- Gyakorlati feladat: Vizsgálja meg egy futó Spark-on-Kubernetes feladatot a sandbox klüsteren, és azonosítsa a driver és executor podokat
4. modul: Spark session konfiguráció Kubernetesben – Részletes beásválás
- Az executorok számának és méretének megértése: memória- és magok-arány trade-off, és hogyan gondolkodjunk erről
- Driver és executor memória-allokáció, memória overhead, és hogyan alakulnak ezek pod erőforrásokká
- Dinamikus allokáció: hogyan viselkedik a Kubernetesben, mikor spórol erőforrást, és mikor nem
- Gyakorlati feladat: Futtassa ugyanazt a feladatot különböző executor és mag konfigurációkkal, és hasonlítsa össze a futástIdőt és az erőforrás-használatot
5. modul: Méretezési viselkedés és költség-optimalizálás
- Megértés, hogyan változik a feladat viselkedése, befejezési ideje és erőforrás-fogyasztása csomópontok hozzáadásával vagy eltávolításával
- Sok kis executor versus kevés nagy executor: teljesítmény és költség trade-offok
- Shuffle viselkedés és shuffle partíció tuning, beleértve a konfigurációs döntések költség-terjedelmének becslését
- Gyakorlati feladat: Skálázza a sandbox klütert ötől tíz csomópontig, és figyelje meg a hatást a feladat befejezési idejére és az erőforrás-fogyasztásra
6. modul: Hatékony adatbevitel és partícionálás
- A kisfájlok probléma megértése: miért romlik a teljesítmény, ha az adatforrások sok 1–5 MB-os Parquet fájlra tagolva vannak, és hogyan torzítja ez a partícionálást
- Repartícionálási és coalesce stratégiák
- Partícióméretek kontrollja beolvasáskor és írásnál
- Hatékony Parquet írás, hogy elkerüljük a kisfájlok problémájának újbóli előidézését lefelé a láncban
- Gyakorlati feladat: Töltsön be egy adathalmazt, amely sok kis Parquet partícióból áll, alkalmazzon különböző repartícionálási stratégiákat, és hasonlítsa össze a teljesítményt optimalizálás előtt és után
7. modul: Pandas memória-kezelés és hiba-diagnosztika
- A Pandas OOM hiba gyökérokkainak megértése és a tünetek felismerése
- Memória-hatékonyságú konverziós minták alkalmazása Spark és Pandas között
- Memória-felfújás elkerülése nagy adathalmazok CSV-be írásakor
- Chunk-elt feldolgozás és dtype optimalizálás korlátozott környezetekben
- Gyakorlati feladat: Reprodukáljon egy tipikus Pandas OOM jelenetet, és oldja meg chunkolással és dtype optimalizálással
8. modul: Polars kiegészítő eszközként
- A Polars pozicionálása a Pandasszal szemben: teljesítménykarakterisztikák, lazy evaluation és memória-viselkedés
- Megértés, hová illeszkedik a Polars a PySpark és Pandas mellé a modern felhő-adatstackekben és a migrációs útvonalakon, beleértve az AWS környezeteket is
- Gyakorlati feladat: Írja újra egy Pandas-fókuszú átalakítást Polars-szal, és hasonlítsa össze a memória-használatot és a feldolgozási sebességet
9. modul: Optimalizálás alkalmazása ETL és ML munkafolyamatokban
- Konfigurációs, partícionálási és memória-kezelési elvek alkalmazása egy realisztikus ETL csővezetéken átívelően
- Optimalizálási szempontok megértése, amelyek specifikusak a gépi tanulási munkafolyamatokhoz, amelyek ugyanazon a klüsteren futnak
- Gyakorlati tuning munkafolyamat alkalmazása a költség- és teljesítményproblémák rendszeres diagnosztizálásához
- Gyakorlati feladat: Fejezze be egy végponttól-végpontig mini-projektet, amely adatbetöltést, átalakítást és egy egyszerű modellbetanítási lépést tartalmaz, ahol a résztvevők önmagukkal tuningolják a Spark konfigurációt
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