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

A VIK Wikiből
A lap korábbi változatát látod, amilyen Ocsi01 (vitalap | szerkesztései) 2013. november 25., 18:42-kor történt szerkesztése után volt. (→‎2013/2014)

Sablon:Szabvál

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.

Követelmények

  • Jelenlét: Ajánlott mert nincs jegyzet
  • NagyZH: TODO
  • Házi: TODO

"A tárgy jegyének megszerzéséhez a ZH legalább elégséges teljesítése szükséges, valamint egy házi feladat elkészítése és megvédése. Az érdemjegyet a ZH illetve a házifeladat érdemjegyének átlagával számítjuk ki, a 0.5-re végződő eredményeket felfele kerekítjük. ZH a 8. vagy a 9. héten, pótZH és házifeladat bemutatása a 14. héten lesz."

Számonkérések

Házifeladat

Részletesen: http://adatbanyaszat.tmit.bme.hu/twiki/bin/view/Targyak/BigData2013Hazi

Feladatok és eszközök kiválasztása

Az alábbi feladatok közül a használt eszközök fényében kell néhány darabot kiválasztani. A használható eszközök és a megoldandó feladatok száma:

  • Java MapReduce programozás: 1 feladat
  • Hadoop Streaming programozás más programnyelven (Python, R, stb.): 2 feladat
  • Hive és Pig: 3 feladat

Ha tehát valaki Hive-ban és Pig-ben akar dolgozni, akkor az alábbi feladatok közül 3-at is meg kell oldania és mindkét eszközt használnia kell, tehát mondjuk 2 feladat Hive-ban, 1 feladat Pig-ben. Ezzel szemben ha valaki Java programozással akar MapReduce elemzést csinálni, akkor az alábbiak közül elegendő egyetlen szabadon választott feladat megoldása. Hadoop Streaming esetén 2 feladat megoldása szükséges.

Választható feladatok

  • HTML lapletöltések hisztogramja: az adatokból egy olyan grafikont kell kirajzolni, mely bemutatja, hogy hány olyan kliens (host) volt, aki 0 darab html oldalt töltött le, hány olyan aki 1-et, 2-t, stb. Az elemzés kimenete tehát egy két oszlopot tartalmazó tábla (html letöltésszám, hostok száma), illetve egy grafikon, amely bármely megjelenítő programmal (pl. Excel) előállítható.
  • Utolsó 2 letöltött HTML oldal: minden egyes kliens (host) esetén ki kell gyűjteni az (időben) utolsó 2 letöltött HTML oldalt. Az eredmény tehát egy három oszlopot tartalmazó tábla (host, utolsó html oldal, utolsó előtti html oldal). Ha egy kliens (host) nem töltött le két html oldalt, akkor a megfelelő mezők üresen maradjanak.
  • Napi egyedi látogatók (hosztok) száma: számítsuk ki minden napra, hogy hány egyedi látogató (host) volt aznap az oldalon, majd ezt ábrázoljuk grafikonon.
  • Visszatérő látogatók (hosztok) listája: Visszatérő látogatónak tekintjük azt a hostot, ami két (vagy több) különböző napon is meglátogatta az oldalt és a legkorábbi és legkésőbbi lapletöltése között legalább 6 óra telt el. Ezzel kiszűrjük azokat a látogatókat, akik éjfél előtt és éjfél után közvetlenül látogatják meg az oldalt. A megoldás ezen látogatók listája és darabszáma.

Zárthelyi

  • Előrevetíti: konkrét elemzési feladat (pl átlag) megvalósítása mapredben. Joinolni nem kell tudni. Akármilyen nyilazós sémás dologgal is megoldható nem kell java kódot írni. Pl:
Kell: minden nap hány külöböző sessionid volt egy nap?
   SELECT date, COUNT(DISTINCT sessionid) FROM table GROUP BY date
M:(sorid,sor)->(date+session, 1)
R:(date+session,list(1))->(date+sessionid,1)
M:(date+sessionid,1)->(date,1)
R:(date, list(1))->(date,sum)


  • TODO

Segédanyagok

A kurzusok anyagai a TMIT honlapján:

Tapasztalatok

2013/2014

A tárgy először 2013/2014 őszén került meghirdetésre.

Én MapReduce-os házit csináltam, az egyáltalán nem volt gáz. A kiadott VM-en minden megvan ami kell, csak legyen min futtatni magát a VM-et. Ha elég jól megy a Java és megvan, hogy elvben mit csinál a Map és mit a Reduce, akkor hamar meg lehet csinálni.

2013/2014

Pontositas: Kiadott VM = Hortonworks hivatalos Sandbox. Nekem volt azert szivas vele, de a 2.X versio mar ment jol. Egy i5 os laptopot 4 GB rammal azert elegge leterhel, de meg kezelheto. En a Pig/Hive hazit csinaltam, ahhoz nagy segitseg volt a webes UI. Viszont minnel tobb eszkozt hasznalsz, annal nehezebb a hibauzeneteket ertelmezni. Sokszor belefutottam semmit mondo exceptionbe.

[ocsi]