Hadoop Gyakorlat 1 Korszerű adatbázisok
Elérés Namenode: ResourceManager Jobhistory SSH / SCP http://monet.inf.elte.hu:6270/ ResourceManager http://monet.inf.elte.hu:6288 Jobhistory http://monet.inf.elte.hu:6289 SSH / SCP http://monet.inf.elte.hu:6222 felh / jelszo : ka_{neptun_azon} / 123456
Parancsok Listázás Kiírja egy fájl tartalmát Betöltés hdfs dfs –ls Kiírja egy fájl tartalmát hdfs dfs –cat Betöltés hdfs dfs –put Könyvtár létrehozás hdfs dfs –mkdir Könyvtár törlése rekurzívan hdfs dfs –rm -r Gombos Gergő Korszerű Adatbázisok 2014
Hadoop example ggombos@dbpc62:~$ yarn jar ../hadoop/hadoop-2.6.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jar pi 16 100000
Eclipse plugin Letölteni a szükséges jar-okat http://oktnb16.inf.elte.hu/ggombos/korszeru/ hadoop-eclipse-kepler-plugin-2.2.0.jar hadoop-common-2.6.0.jar hadoop-mapreduce-client-core-2.6.0.jar Plugin bemásolása az eclipse/plugin mappába Elindítjuk az eclipset Nézet átállítása Map/Reduce-ra New Hadoop location beállítása Gombos Gergő Korszerű Adatbázisok 2014
Hadoop location map/reduce master: dfs master: host: monet.inf.elte.hu port: 6210 dfs master: use M/R Master host OK port: 6220 User name: ka_{neptun azonosito} Gombos Gergő Korszerű Adatbázisok 2014
Segítség A generált kódban lecseréljük a sorokat erre: conf.setInputFormat(TextInputFormat.class); conf.setOutputFormat(TextOutputFormat.class); FileInputFormat.setInputPaths(conf, new Path("In")); FileOutputFormat.setOutputPath(conf, new Path("Out")); Létező fmappák törlése: FileSystem fs = FileSystem.get(conf); if (fs.exists(new Path(“Outer”))) fs.delete(new Path(“Outer”),true); Gombos Gergő Korszerű Adatbázisok 2014
Futtatás Export -> normal JAR Felmásoljuk a dbpc62-re Set main class!!!! Felmásoljuk a dbpc62-re yarn jar jar_name.jar Gombos Gergő Korszerű Adatbázisok 2014
Adathalmazok Tweet/ User_mention/
Hadoop feladatok Számolás Legyűjtés Szűrés Elosztott számítás Rendezés Chain Gráf elemzés
Feladat 0 (WordCount) Feladat: Implementáljuk a WordCount feladatot! Input: /user/ggombos/WCInput/wcInput.txt
Feladat 1 (Számolás) Feladat: Hány tweet jött mobilról? (Amelyiknek van lat, lon adata, az mobilról jött) Input: /user/hadoop/korszeruInput/tweets + Combiner
Feladat 2 (Legyűjtés) Feladat: Userek melyik tweetben voltak említve? Input: /user/hadoop/korszeruInput/mentions
Feladat 3 (Szűrés) Feladat: Gyűjtsük le azokat a tweeteket amelyekben szerepel a ‚hebdo’ szó. input: /user/hadoop/korszeruInput/tweets
Feladat 4 (Elosztott számítás) Feladat: Hány négyzetszám van 1..10 000 000 között? Input: /user/ggombos/szamokInput/SzamokInput.txt Megj.: nincs reducer
Feladat 5 (Rendezés) Feladat: Rendezzük a 7-8 óra közötti tweeteket időrendbe! Input: /user/hadoop/korszeruInput/tweets
Feladat 6 (Chain) Feladat: Gyűjtsük le azokat a tweeteket amelyekben szerepel a ‚hebdo’ szó, gyűjtsük össze melyik user hány tweetjében említette. input: /user/hadoop/korszeruInput/tweets Megj.: chain (MAP+ | REDUCE | MAP* )
Feladat 6 (Chain) Feladat: Gyűjtsük le azokat a tweeteket amelyekben szerepel a ‚hebdo’ szó, gyűjtsük össze melyik user hány tweetjében említette. MAP1 – szűrés MAP2 – user emlites Reducer – összeadja az emliteseket MAP3 – Megforditja a kiiratast
Feladat 7 (Gráf elemzés) Feladat: Ki-kit említett? Kimenő, bemenő élek egy adott user-re Input: /user/hadoop/korszeruInput/mentions Megj.: combiner
Köszönöm a figyelmet!