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

Basic information
Neptun code: 
vitmav15
Hosting department: 
TMIT
Major: 
BME-VIK Electrical Engineering
BME-VIK Engineering Information Technology
BME-VIK Business Information Systems
Type: 
Freely elective subject (SZVT)
Availability: 
active
Course coordinator: 
Objective: 
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