Budapest University of Technology and Economics, Faculty of Electrical Engineering and Informatics

    Belépés
    címtáras azonosítással

    vissza a tantárgylistához   nyomtatható verzió    

    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