Opcionális Házi Feladat¶
Általános információk¶
Specifikáció határidő: 2026.04.12. 23:59
Beadási határidő: 2026.05.24. 23:59
Beadás módja: GitHub repository linkje a tárgy Moodle-felületén
Feladat leírása¶
A házi feladat célja egy teljes, end-to-end data engineering pipeline megtervezése és megvalósítása, amely lefedi a data engineering életciklus összes fő elemét: adatgenerálást, betöltést, tárolást, transzformációt, ütemezést és kiszolgálást.
A hallgatónak egy valós vagy szimulált adatforrásból kiindulva kell egy működő pipeline-t felépítenie, amelynek végén az adat elemzésre kész formában áll rendelkezésre. A feladat megoldható lokálisan (Docker-alapú környezetben) vagy felhőszolgáltatóra (AWS, GCP, Azure) telepítve.
A pipeline kötelező elemei¶
1. Adatforrás és adatbetöltés¶
- Legalább két különböző adatforrás használata (pl. REST API, CSV/JSON fájl, relációs adatbázis, szimulált stream)
- Az adatbetöltés legyen batch és/vagy streaming alapú
- A forrásadatok legalább egy esetben tartalmazzanak strukturálatlan vagy szemisturkturált adatot (pl. JSON, Parquet)
2. Adattárolás¶
- Nyers (raw) adatok tárolása egy landing zone-ban (pl. S3-kompatibilis objektumtároló, lokális fájlrendszer)
- Transzformált adatok tárolása egy adattárházban vagy data lakehouse megoldásban (pl. DuckDB, PostgreSQL, Snowflake, BigQuery, Delta Lake)
- Az adatmodell legalább egy csillag sémát tartalmazzon (ténytábla + legalább két dimenziótábla)
3. Transzformáció¶
- Legalább egy batch transzformációs lépés megvalósítása (pl. Pandas, Spark, dbt, SQL)
- A transzformáció során legyen adattisztítás (null kezelés, típuskonverzió) és legalább egy aggregáció
- Opcionálisan: streaming transzformáció megvalósítása (pl. Kafka + Flink vagy Spark Structured Streaming)
4. Orchestration és ütemezés¶
- A pipeline lépéseit egy orkesztrációs eszköz vezérelje (pl. Apache Airflow, Dagster, Mage, Prefect)
- A DAG tartalmazza a függőségeket, és legyen képes újrafuttatásra (idempotens)
- Legyen legalább egy ütemezett futtatás (pl. napi batch)
5. Infrastruktúra¶
- A teljes környezet legyen reprodukálható: Docker Compose, vagy Infrastructure as a Code eszköz (pl. Terraform) segítségével
- Szükséges egy
README.md, amely tartalmazza a futtatáshoz szükséges összes lépést
6. Adatkiszolgálás¶
- Az elkészült adatmodell alapján legyen lekérdezhető az adat: pl. SQL nézetekkel, egy egyszerű BI dashboarddal (pl. Metabase, Superset, Grafana), vagy egy REST API végponton keresztül
- Legalább 3 értelmes analitikai lekérdezés (pl. SQL) dokumentálva
Témaötletek¶
Az alábbi témák egyike választható, de a saját ötlet preferált:
- E-kereskedelmi rendelések pipeline-ja: webshop rendelési és termékadat-stream feldolgozása, valós idejű értékesítési dashboard
- Időjárás-adatok analitikája: publikus meteorológiai API-ból betöltött adatok historikus elemzése, anomáliák detektálása
- Pénzügyi tranzakciók: szimulált banki tranzakciók batch feldolgozása, fraud-detection aggregációk
- Közösségi média aktivitás: Twitter/Reddit API (vagy szimulált adat), sentiment-aggregáció időablakokban
- IoT szenzoradatok: szimulált eszközadatok streaming pipeline-on keresztüli feldolgozása és vizualizációja
Pontozás¶
| Elem | Pontszám |
|---|---|
| Adatforrás és betöltés (min. 2 forrás, dokumentált) | 3 pont |
| Adattárolás (landing zone + adatmodell, csillag séma) | 3 pont |
| Transzformáció (tisztítás, aggregáció, batch) | 3 pont |
| Orchestration (DAG, ütemezés, idempotencia) | 3 pont |
| Infrastruktúra (Docker / IaC, reprodukálhatóság) | 3 pont |
| Adatkiszolgálás (lekérdezések / dashboard / API) | 3 pont |
| Kódminőség, dokumentáció, README | 2 pont |
| Összesen | 20 pont |
További értékelési szempontok¶
- A pipeline valóban fusson: a README alapján, friss környezetben elindítható és lefut hiba nélkül
- Az egyes lépések egymástól elkülöníthetők legyenek (pl. külön Airflow task-ok vagy Dagster asset-ek)
- A kód legyen olvasható és kommentezett; kerülni kell a hardcoded értékeket (használj
.envfájlt vagy konfigurációs réteget) - Az adatmodell tervezési döntései legyenek indokolva a dokumentációban (min. fél oldal architekturális leírás)
Beadandók¶
- GitHub repository (publikus vagy oktatóval megosztott privát) az összes forráskóddal
README.mda telepítési és futtatási utasításokkal, architektúra-ábrával- Rövid technikai dokumentáció (2-3 oldal), amely leírja:
- a választott architektúrát és annak indoklását
- az adatmodellt (ER vagy csillag séma ábra)
- a pipeline futásának eredményét (pl. screenshot vagy lekérdezési eredmény)
2026-03-12
Szerzők