Python + Data Engineering képzés
A Python + Data Engineering képzés során a résztvevők a Python programozás alapjaitól indulva jutnak el egy modern, projektalapú Data Engineering környezet használatáig. A képzés első részében megtanulják a Python legfontosabb programozási alapjait, az adatszerkezetek, függvények, fájlok és modulok használatát, valamint a hibakezelés és az objektumorientált programozás alapjait.
A Python tudásra építve a képzés fokozatosan tér át az adatfeldolgozás és Data Engineering területére. A résztvevők megismerkednek az adatpipeline-ok felépítésével, az ETL-folyamatokkal, valamint azzal, hogyan lehet Python segítségével adatokat beolvasni, feldolgozni, transzformálni és adatbázisba tölteni.
A képzés fontos része a gyakorlati projektmunka. A résztvevők egy közepes méretű Data Engineering projektet építenek fel, amelyben a megszerzett Python-ismereteket valós adatfeldolgozási feladatokon alkalmazzák. A projekt során az adatpipeline fejlesztését Git segítségével verziókezelik, az alkalmazást Docker konténerekben futtatják, az adatfeldolgozási folyamatokat pedig Apache Airflow segítségével ütemezik és orchestrálják.
A képzés célja, hogy a résztvevő ne csak Python programokat tudjon írni, hanem megértse azt is, hogyan épül fel egy modern, automatizált és reprodukálható adatfeldolgozási rendszer. A képzés végére egy olyan komplex projektet készít el, amelyben a Python programozás, az adatfeldolgozás, a verziókezelés, a konténerizáció és a workflow orchestration egyetlen rendszerben kapcsolódik össze.
1. modul – Python alapok és fejlesztői környezet
Python és programozási alapfogalmak
Python felhasználási területei
Python telepítése és konfigurálása
VS Code és terminál használata
Python interpreter és kód futtatása
Kommentek, indentálás és PEP 8
Változók és értékadás
Alapvető adattípusok
Operátorok és kifejezések
Bemenet és kimenet
Egyszerű Python programok készítése
2. modul – Adattípusok, stringek és adatszerkezetek
int, float, bool, str és None
Típuskonverziók
Stringek és szövegfeldolgozás
Indexelés és slicing
String formatting
Listák
Tuple-ök
Dictionary-k
Set-ek
Beágyazott adatszerkezetek
Unpacking és multiple assignment
3. modul – Feltételek, ciklusok és algoritmikus gondolkodás
if, elif, else
Összetett feltételek
Logikai operátorok
for és while ciklusok
Beágyazott ciklusok
break és continue
Adatok bejárása
Szűrés és összesítés
Egyszerű algoritmusok készítése
Gyakorlati programozási feladatok
4. modul – Comprehension, függvények és iteráció
List comprehension
Dictionary és set comprehension
Iterable és iterator
Generator expression
Függvények létrehozása
Paraméterek és argumentumok
return
Default és keyword argumentumok
args és *kwargs
Scope és namespace
Docstring
Type hint alapok
Rekurzió alapjai
Lambda kifejezések
Generátorok és lazy evaluation
Dekorátorok
5. modul – Modulok, csomagok, fájlkezelés és projektstruktúra
Python modulok
Importálás
Package-ek
Standard könyvtár
Saját modulok készítése
Moduláris programozás
Projektstruktúra kialakítása
Virtuális környezetek
pip használata
requirements.txt
Fájlok és könyvtárak kezelése
Relatív és abszolút útvonalak
Szöveges és bináris fájlok
UTF-8 és karakterkódolás
CSV és JSON kezelése
XML áttekintése
6. modul – Hibakezelés, debugging, testing és objektumorientált programozás
Exception handling
Saját exceptionök
Traceback értelmezése
Debugging és breakpointok
Logging
Unit testing alapok
Class és instance
Attribútumok és metódusok
Konstruktor
Encapsulation
Property
Öröklődés
Composition
Polymorphism
Abstraction
Duck typing
Dataclass
Dunder metódusok
7. modul – Haladó Python és adatfeldolgozási alapok
Szinkron és aszinkron működés
async és await
Coroutine-ok
Event loop
Threading alapok
Multiprocessing alapok
Concurrency és parallelism
I/O-bound és CPU-bound feladatok
Python használata adatfeldolgozási feladatokra
Strukturált adatok feldolgozása
Adatok tisztítása és transzformációja
Python és adatbázisok kapcsolata
8. modul – Data Engineering alapok és projektkörnyezet
Mi a Data Engineering?
Data Engineer feladatai
Adatforrások és célrendszerek
Adatpipeline-ok felépítése
ETL és ELT folyamatok
Extract, Transform, Load
Pipeline komponensek
Python alkalmazás és adatpipeline kapcsolata
PostgreSQL szerepe
Projektstruktúra kialakítása
Konfigurációk és környezeti változók
Dependency-k és projektfüggőségek
Projektfeladat: egy közepes méretű Data Engineering projekt alapstruktúrájának létrehozása.
9. modul – Git és verziókezelés
Verziókezelés alapjai
Git működése
Local és remote repository
Working directory és staging area
Commit history
Repository létrehozása
Clone, add, commit, push, pull és fetch
Git status, log és diff
.gitignore
Secret adatok kezelése
README készítése
Commit message-ek
Branch-ek
Feature branch workflow
Merge
Merge conflict
Pull Request / Merge Request
Code review alapjai
Csapatmunka Git segítségével
Projektfeladat: a Data Engineering projekt Git repository-ba szervezése és branch-alapú fejlesztési workflow kialakítása.
10. modul – Python Data Engineering alkalmazás fejlesztése
Extract komponens kialakítása
Transform komponens kialakítása
Load komponens kialakítása
Komponensek szétválasztása
Újrahasznosítható kódrészek
Konfigurációalapú működés
Exception handling
Logging
Paraméterezhető pipeline-ok
Adattisztítás
Adattranszformáció
Adatvalidáció
PostgreSQL kapcsolat
Adatok betöltése adatbázisba
Projektfeladat: működő Python alapú adatpipeline elkészítése.
11. modul – Docker és konténerizáció
Konténerizáció alapjai
Docker architektúra
Image és container
Docker lifecycle
Container indítása és leállítása
Docker logok
Port mapping
Environment variable-ök
Volume-ok
Reprodukálható fejlesztői környezet
Dockerfile
FROM, WORKDIR, COPY, RUN, ENV, CMD és ENTRYPOINT
.dockerignore
Python alkalmazások dockerizálása
requirements.txt kezelése
Docker image-ek buildelése és verziózása
Projektfeladat: a Python adatpipeline Docker image-be csomagolása.
12. modul – Docker Compose és többkomponensű Data Engineering környezet
Docker Compose használata
Compose file felépítése
Service-ek
Build és image
Environment változók
Volume-ok
Service dependency-k
Docker network
Service discovery
Container-to-container kommunikáció
Python és PostgreSQL összekapcsolása
PostgreSQL persistent storage
Több containerből álló alkalmazás kezelése
Projektfeladat: Python adatpipeline és PostgreSQL futtatása közös Docker Compose környezetben.
13. modul – Apache Airflow és workflow orchestration
Workflow orchestration fogalma
Miért nem elegendő egy Python script?
Pipeline scheduling
Task dependency
Apache Airflow architektúra
DAG
Task
Operator
Scheduler
Worker
Webserver
Metadata database
Airflow UI
Task státuszok
Logok
Sikertelen taskok kezelése
Pipeline-ok manuális indítása
Projektfeladat: Apache Airflow hozzáadása a Docker Compose alapú Data Engineering környezethez.
14. modul – Airflow DAG fejlesztés és automatizált pipeline-ok
DAG létrehozása
Taskok létrehozása
Task dependency
TaskFlow API
Python taskok
Több taskból álló workflow
Scheduling
Cron kifejezések
Start date
Catchup
Manual trigger
Retry
Retry delay
Extract, Transform és Load taskok
Párhuzamos taskok
Sikertelen taskok kezelése
Projektfeladat: a Python ETL folyamat Airflow által vezérelt workflow-vá alakítása.
15. modul – Production szemlélet és a Data Engineering projekt befejezése
Airflow Connections
PostgreSQL connection
Airflow Variables
Environment variable-ök
Credentialök kezelése
XCom
Taskok közötti adatátadás
Idempotencia
Újrafuttatható pipeline-ok
Pipeline állapotának követése
Development és production környezet
Secret management alapjai
Dependency és Docker image verziózás
CI/CD alapfogalmak
Automatikus build és tesztelés
Docker registry
Deployment folyamat áttekintése
Záró projekt
A képzés végén a résztvevők egy komplett, működő Data Engineering rendszert készítenek el. A projektben a Pythonban megírt adatfeldolgozó folyamat Git segítségével verziókezelve, Docker konténerekben futtatva és Apache Airflow-val automatizálva működik.
A teljes folyamat magában foglalja az adatok beolvasását, tisztítását és transzformációját, az adatbázisba történő betöltést, a pipeline ütemezését, a hibakezelést és a folyamatok naplózását.
A záróprojekt célja, hogy a résztvevő a képzés végére ne csak külön-külön ismerje a Python, Git, Docker és Apache Airflow eszközöket, hanem képes legyen ezeket egyetlen, összefüggő Data Engineering projektben alkalmazni.
Kinek szól
A Python + Data Engineering képzést azoknak ajánljuk, akik szeretnék megtanulni a Python programozást, és ezt a tudást később adatfeldolgozási, automatizálási vagy Data Engineering feladatokban is szeretnék alkalmazni.
A képzés jó választás lehet azoknak, akik:
most szeretnének komolyabb Python programozási tudást szerezni;
szeretnének továbblépni az egyszerű Python programoktól a nagyobb, strukturált projektek felé;
érdeklődnek az adatok feldolgozása és az adatplatformok működése iránt;
Data Engineer vagy adatközeli technikai területen szeretnének továbbtanulni;
szeretnék megismerni a Git használatát fejlesztői környezetben;
szeretnék megtanulni, hogyan működik a Docker és a konténerizált alkalmazásfuttatás;
szeretnék megismerni az Apache Airflow használatát adatpipeline-ok automatizálására és ütemezésére;
projektalapú, gyakorlati tudást szeretnének szerezni.
A képzés különösen hasznos lehet azok számára, akik a Python → Data Engineering → automatizált adatpipeline-ok irányban szeretnék továbbépíteni a tudásukat. A tematika az alapoktól építkezik, majd fokozatosan jut el a Git, Docker és Apache Airflow használatával megvalósított összetett Data Engineering projektig.