'Big Data' elemzési eszközök nyílt forráskódú platformokon

Alapadatok
Neptun kód: 
vitmav15
Gazda tanszék: 
TMIT
Szak: 
BME-VIK Villamosmérnöki szak
BME-VIK Mérnök informatikus szak
BME-VIK Gazdaságinformatikus szak
Típus: 
Szabadon választható (SZVT)
Érvényesség: 
aktív
Tárgyfelelős: 
Célkitűzés: 
A tárgy célja, hogy megismertesse a hallgatókkal a big data elemzésére alkalmas módszereket és algoritmusokat, különös tekintettel a széles körben elterjedt nyílt forráskódú technológiákra. A példák és a házi feladatok a Hadoop keretrendszerhez és más hozzá kapcsolódó technológiákhoz nyújtanak gyakorlati ismereteket. A hallgatók képesek lesznek nagy adatok elemzésére alkalmas rendszerek megtervezésére, létrehozására és elemzési feladatok megvalósítására.

A tantárgy részletes tematikája

  1. Bevezetés. A nagy adat (big data) fogalma, jelentése. A térnyerést elősegítő trendek: hardver költségek csökkenése, felhő technológiák terjedése. Tipikus üzleti felhasználási területek áttekintése. A leginkább elterjedt adatelemzési platformok bemutatása.
  2. Az Apache Hadoop bemutatása, története. Elterjedt nyílt forráskódú csomagok és lekérdező eszközök áttekintése. A HDFS adattárolási mechanizmusa: blokkok, replikáció, tömörítés, elterjedt fájlformátumok. A Namenode, Secondary Namenode és a Datanode feladata, szerepe.
  3. A MapReduce programozási paradigma bemutatása. Néhány adatelemzési példa MapReduce segítségével. A Hadoop MapReduce működése, programozása. A Jobtracker és a Tasktracker feladata, szerepe.
  4. Hadoop MapReduce programozás Java nyelven. A Streaming API használata, MapReduce programozás további programnyelveken. Tipikus programozási minták, optimalizációs megoldások. A join művelet megvalósítása MapReduce paradigma szerint.
  5. Apache Hadoop klaszterek kiépítése, üzemeltetése, tipikus karbantartási feladatok. Saját gépeken, illetve felhőben futó klaszterek összevetése. Hardver elemek méretezése, főbb konfigurációs paraméterek beállításai. Meghibásodási lehetőségek, nagy rendelkezésreállás biztosítása a Namenode és a Jobtracker esetén.
  6. SQL alapú lekérdező eszközök áttekintése: Hive, Impala. A Hive és az Impala felépítése és működése, különbségek a klasszikus adatbázisokhoz képest. A HiveQL lekérdező nyelv funkciói és hiányosságai. Saját függvények (UDF, UDAF) fejlesztési lehetőségei.
  7. A Pig adatelemzési szkriptnyelv bemutatása, a nyelv tulajdonságai, főbb funkciói. Adattípusok, vezérlési szerkezetek. A Pig és a Hive összehasonlítása.
  8. Zárthelyi dolgozat megírása
  9. Esettanulmány: Nagy méretű log adatok gyűjtése és elemzése Hadoop alapokon. Logok elosztott és megbízható tárolása HDFS-en, azok rendszerezése és elemzése Hive és Pig segítségével. Elemzési és üzemeltetési tapasztalatok.
  10. Az HBase elosztott adatbázis bemutatása. Bloom szűrők használata a gyorsabb kiszolgálás érdekében. Összehasonlítás további elosztott adatbázisokkal: Apache Accumulo, Cassandra.
  11. Gépi tanulási és adatbányászati algoritmusok megvalósítása Hadoop alapokon. A Mahout csomag bemutatása. A MapReduce limitációi, iteratív és memória-alapú kiterjesztései.
  12. Az Apache Giraph és a GraphLab gépi tanulási algoritmusok bemutatása. A gráf alapú implementációk előnyei és korlátai. Tipikus felhasználási területek.
  13. Esettanulmányok: Big data elemzésére vonatkozó referencia architektúrák, technológiai megoldások, üzleti felhasználási területek. Néhány Hadoop alapú architektúra és felhasználás bemutatása.
  14. Zárthelyi dolgozat pótlása, házi feladatok bemutatása