Data Engineering a gyakorlatban

A tantárgy angol neve: Data Engineering in Practice

Adatlap utolsó módosítása: 2024. november 22.

Budapesti Műszaki és Gazdaságtudományi Egyetem
Villamosmérnöki és Informatikai Kar

Mérnökinformatikus szak

Villamosmérnöki szak

Szabadon választható tárgy
Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
VIAUBXAV082-00   2/0/2/v 4  
3. A tantárgyfelelős személy és tanszék Dr. Somogyi Ferenc Attila,
4. A tantárgy előadója

Név:

Beosztás:

Tanszék, Int.:

Dr. Somogyi Ferenc

adjunktus

Automatizálási és Alkalmazott Informatikai Tanszék

Dr. Ekler Péter

docens

Automatizálási és Alkalmazott Informatikai Tanszék

Pomázi Krisztián

tanársegéd

Automatizálási és Alkalmazott Informatikai Tanszék

5. A tantárgy az alábbi témakörök ismeretére épít -
6. Előtanulmányi rend
Ajánlott:
-
7. A tantárgy célkitűzése

A tantárgy célja, hogy a hallgatók megismerjék a data engineering életciklust, valamint elsajátítsák az adatmérnök szerepkör betöltéséhez szükséges alapvető elméleti és gyakorlati ismereteket. A tárgy hallgatása során a hallgatók betekintést nyernek olyan koncepciókba és best practice-ekbe, amelyek segítségével szisztematikusan képesek lesznek adatmérnöki problémák megoldására. Az adatgenerálás, betöltés, tárolás és kiszolgálás részletes áttekintésén keresztül, a megfelelő technológiai eszközöket megismerve valós adat pipeline-okat és architektúrákat lesznek képesek tervezni, létrehozni és üzemeltetni. A tárgy oktatása során kiemelt figyelmet fordítunk arra, hogy a bemutatott technológiák a legfrissebb piaci trendeket kövessék. A hallgatók nemcsak technológiai ismereteket, hanem olyan elméleti és gyakorlati tudást is elsajátíthatnak, melyek segítségével olyan módon tudnak data engineering feladatokat elvégezni, hogy az a döntéshozók és az adatot használók számára valóban hasznos és hatékony legyen.

8. A tantárgy részletes tematikája

Előadások:

Hét

Előadás anyaga

1.

A Data Engineer szerepkör. A data engineering életciklus és elemei.
Az előadás keretében bemutatjuk az adatmérnök (data engineer) szerepkört, külön kiemelve az elmúlt évekbeli és jövőben várható trendeket a szakmai piacon. Ismertetjük a data engineering életciklust, annak elemeit, valamint az adatmérnökök által leggyakrabban használt technológiákat. Kitérünk a felhő alapú megoldások előnyeire és hátrányaira.

2.

Adatforrások, adatgenerálás
Az előadás témája az adatforrások és adatgenerálás bemutatása. Mivel minden adatmérnöki folyamat vagy pipeline egy vagy több adatforrásból indul ki, körbejárjuk ezeknek a típusait, külön figyelmet szentelve az adatmérnökök által gyakran végzett feladatokra. Bemutatjuk a különböző adatformátumokat.

3.

Batch alapú adatfeldolgozás
Az előadás súlyponti témája a batch alapú adatfeldolgozás megismerése. Bemutatjuk a batch és a streaming alapú adatfeldolgozás közötti különbséget. Kitérünk az ETL (Extract-Transform-Load) és ELT (Extract-Load-Transform) folyamatok részleteire, illetve ismertetjük a state-of-the-art technológiákat.

4.

Streaming alapú adatfeldolgozás
Az előadás keretében bemutatjuk a streaming alapú adatfeldolgozás alapjait. Ismertetjük az esemény alapú streaming megoldások használatát, valamint a message queue alapú megoldásokat. Megismerkedünk az Apache Kafka technológiával.

5.

Adatbázisok, adattárolási megoldások, adattárolási absztrakciók
Az előadáson egyrészt megismerkedünk az alapvető adatbázis és adattárolási típusokkal (relációs, NoSQL, gráf alapú adatbázisok, objektum tárolók, stb.), másrészt a magasabb szintű adattárolási absztrakciókról (adattárház, data lake, data-lakehouse) biztosítunk átfogó képet.

6.

Adatmodellezés, lekérdezések
Az előadás célja, hogy a hallgatók megismerkedjenek az adatmodellezés szerepével, és elsajátítsák a legfontosabb elméleti gyakorlati ismereteket a területen (pl. csillag séma, tárgy és dimenzió táblák használata). Összetett SQL lekérdezések példáján keresztül bemutatjuk a lekérdezésekhez kapcsolódó fontosabb koncepciókat (pl. teljesítményoptimalizálás).

7.

Orchestration, ütemezés, pipeline automatizálás
Az előadáson bemutatjuk a data pipeline-okban leggyakrabban használt ütemezési koncepciókat és eszközöket (pl. Apache Airflow, Dagster, Mage). Kitérünk az automatizálás lehetőségeire a teljes data engineering életciklus során.

8.

Adatmenedzsment, adat architektúra, adatbiztonság
Az előadáson ismertetjük a DataOps fogalmát és a használt automatizációs elveket.
Bemutatjuk a jó adat architektúra tervezéséhez szükséges szempontokat, illetve azt, hogy a követelményekből kiindulva hogyan tudjuk a lehető legjobb technológiai eszközöket kiválasztani. Ismertetjük, hogy hogyan lehetséges az adatok biztonságát szem előtt tartani a teljes adatmérnöki életciklus során.

9.

Transzformációk, elosztott feldolgozó rendszerek
Az előadás fő célja a leggyakrabban használt elosztott feldolgozó rendszerek bemutatása gyakorlati példák segítségével. A hallgatók megismerkedhetnek a Pandas és Spark, valamint az ezekre épülő további technológiákkal. Bemutatjuk az elosztott rendszerek előnyeit és hátrányait.

10.

Data engineering pipeline a felhőben - AWS technológiák
Az előadáson részletesen bemutatásra kerül az AWS platform, illetve annak az adatmérnöki szerepkört érintő elemei. Egy teljes adat pipeline felépítésén keresztül megismerkedünk az iparban leggyakrabban használt felhő alapú technológiákkal. Ismertetjük az AWS platformhoz kapcsoló alapvető koncepciókat és fogalmakat.

11.

Data engineering pipeline a felhőben - AWS technológiák
Az előző előadások ismereteire építve folytatjuk az elsajátított koncepciók és technológiák gyakorlatban való bemutatást egy összetettebb példán keresztül.

12.

Infrastructure as a Code eszközök használata data engineering életciklus menedzselése során.
Az előadási központi tematikája az IaaC (Infrastructure as a Code) eszközök megismerése és használatának bemutatása. A data engineering életciklus során megvizsgáljuk, hogy hol és hogyan érdemes ezen eszközöket alkalmazni. Megismerkedünk a Terraform IaaC technológiával.

13.

Databricks
Az előadáson áttekintjük a Databricks adatplatform működését. Egy gyakorlati példa keretében megismerjük a platform használatát és a hozzá tartozó koncepciókat.

14.

Snowflake
Az előadáson áttekintjük a Snowflake felhő adatplatform működését. Egy gyakorlati példa keretében megismerjük a platform használatát és a hozzá tartozó koncepciókat.

 

Laborok:
A laborok az előadások tematikáját követik és lehetőséget biztosítanak az ott elhangzottak gyakorlására. A tárgy során 7 db 4x45 perces labor kerül megtartásra.

Sorszám

Labor anyaga

1.

Adatforrások, adatgenerálás
A labor során a hallgatók kipróbálhatják a leggyakoribb adatforrásokhoz való kapcsolódást és adatkinyerést, valamint megismerkednek a leggyakoribb adatformátumokkal.

2.

Batch alapú adatfeldolgozás
A labor során a hallgatók egy batch alapú adatfeldolgozásra épülő pipeline-t építenek ki.

3.

Streaming alapú adatfeldolgozás
A labor során a hallgatók egy streaming alapú adatfeldolgozásra épülő pipeline-t építenek ki.

4.

Adatbázisok, adattárolási megoldások, adattárolási absztrakciók, adatmodellezés, lekérdezések
A labor során a hallgatók megismerkednek a leggyakoribb adatbázistípusokkal, adatmodellezési praktikákkal, valamint lekérdezési best practice-ekkel.

5.

Adatmenedzsment, adat architektúra, adatbiztonság, ütemezés
A labor során gyakorlati példákon keresztül kitérünk az adatmenedzsment, adat architektúra, DataOps és az adatbiztonság szerepére.

6.

Cloud data pipeline, Infrastructure as a Code
A labor során egy teljes data pipeline-t építünk ki egy felhőszolgáltatónál Terraform Infrastructure as a Code szolgáltatás segítségével.

7.

Snowflake
A labor során a Snowflake szolgáltatással és annak architektúrájával ismerkedhetnek meg a hallgatók.


9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium)

Gyakorlatias, alkalmazásközpontú előadások keretében.

Kijelölt írásos anyag elsajátítása.

A tárgyhoz online/otthon elvégezhető laborok tartoznak, melyeket a laborvezetők ellenőriznek.

10. Követelmények

A szorgalmi időszakban egy ZH megírása kötelező, valamint a laborok 70%-ának teljesítése legalább elégséges érdemjeggyel. Emellett a vizsgaidőszakban követelmény egy írásbeli vizsga sikeres teljesítése.

Az aláírás feltétele:

- ZH-n legalább 40% elérése.

- Laborok 70%-ának legalább elégségesre való teljesítése.

Az érdemjegy a ZH pontszámából, az összes labor pontszámából és vizsga pontszámából tevődik össze, 20%-30%-50% súlyokkal.

A vizsga opcionálisan kiváltható nagy házi feladat elkészítésével a félév során.

11. Pótlási lehetőségek

A zárthelyi, továbbá 1 labor pótolható a pótlási héten.

12. Konzultációs lehetőségek

Igény szerint, az oktatókkal egyeztetve.

13. Jegyzet, tankönyv, felhasználható irodalom

A tárgy weboldalán elhelyezett írásos anyagok. 

14. A tantárgy elvégzéséhez átlagosan szükséges tanulmányi munka
Kontakt óra28
Félévközi készülés órákra6
Felkészülés zárthelyire14
Laborok távoli elvégzése
42
Vizsgafelkészülés30
Összesen120
15. A tantárgy tematikáját kidolgozta

Név:

Beosztás:

Tanszék, Int.:

Dr. Somogyi Ferenc

adjunktus

Automatizálási és Alkalmazott Informatikai Tanszék

Dr. Ekler Péter

docens

Automatizálási és Alkalmazott Informatikai Tanszék

Pomázi Krisztián

tanársegéd

Automatizálási és Alkalmazott Informatikai Tanszék