Lépjen kapcsolatba velünk
 Időtartalma 21 órák

Kurzusleírás

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

Követelmények

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.

Résztvevők száma


Ár per résztvevő

Vélemények (1)

Közelgő kurzusok

Rokon kategóriák