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