Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

HADOOP Korszerű Adatbázisok 2013. Elérés, Belépés Elérés: eszakigrid109.inf.elte.hu Belépés: felhasználó/jelszó: neptun-kód Manager oldalak:

Hasonló előadás


Az előadások a következő témára: "HADOOP Korszerű Adatbázisok 2013. Elérés, Belépés Elérés: eszakigrid109.inf.elte.hu Belépés: felhasználó/jelszó: neptun-kód Manager oldalak:"— Előadás másolata:

1 HADOOP Korszerű Adatbázisok 2013

2 Elérés, Belépés Elérés: eszakigrid109.inf.elte.hu Belépés: felhasználó/jelszó: neptun-kód Manager oldalak: http://eszakigrid109.inf.elte.hu:50030 http://eszakigrid109.inf.elte.hu:50070

3 Emlékeztető Map: Alakítsuk a bementi adatokat (kulcs, érték) párokra Reduce: Alakítsuk az adott kulcshoz tartozó adatokat a kimeneti formára

4 HADOOP folyamat

5 HDFS parancsok Listázás hadoop fs –ls Kiírja egy fájl tartalmát hadoop fs –cat Betöltés hadoop fs –put Könyvtár létrehozás hadoop fs –mkdir Könyvtár törlése rekurzívan hadoop fs -rmr

6 Adathalmaz tweet_dec24 December 24-i tweetek tweet_id, user_id, lat, lon, lang, created_at, text mentioned user_id, mentioned_user_id interval from, to

7 Fordítás, futtatás, eredmény Fordítás forditas.sh javac -classpath /home/hadoop/hadoop-1.0.4/hadoop-core- 1.0.4.jar -d classes/ *.java jar -cvf hadoopRun.jar -C classes/. Futtatás run.sh hadoop jar hadoopRun.jar korszeru.empty_mapred /user/hadoop/korszeru/input/dec24_tweet.txt feladatOUT1 Eredmény hadoop fs –cat feladatOUTX/* (X=1..10)

8 WordCount példa Map public static class Map extends Mapper { private final static IntWritable one = new IntWritable(1); private Text word = new Text(); public void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException { String line = value.toString(); StringTokenizer tokenizer = new StringTokenizer(line); while (tokenizer.hasMoreTokens()) { word.set(tokenizer.nextToken()); context.write(word, one); }

9 WordCount példa Reduce public static class Reduce extends Reducer { public void reduce(Text key, Iterable values, Context cont) throws IOException, InterruptedException { int sum = 0; for (IntWritable val : values) { sum += val.get(); } context.write(key, new IntWritable(sum)); }

10 WordCount példa Main public static void main(String[] args) throws Exception { Configuration conf = new Configuration(); Job job = new Job(conf, "ggombos_wordcount"); job.setJarByClass(WordCount.class); job.setOutputKeyClass(Text.class); job.setOutputValueClass(IntWritable.class); //job.setMapOutputKeyClass(Text.class); //job.setMapOutputValueClass(Text.class); job.setMapperClass(Map.class); job.setReducerClass(Reduce.class); job.setInputFormatClass(TextInputFormat.class); job.setOutputFormatClass(TextOutputFormat.class); FileInputFormat.addInputPath(job, new Path(args[0])); FileOutputFormat.setOutputPath(job, new Path(args[1])); job.waitForCompletion(true); }

11 Feladat1 (Számolás) Hány tweet volt az egyes nyelveken?

12 Feladat1 (Számolás) Map (kulcs, érték): (nyelv, 1)//pl: (‘en’,1) Reducer összeadja az értékeket (nyelv, szum)//pl: (‘en’, 5)

13 Feladat2 (Legyűjtés) Full inverted index (a szó melyik tweetben, hányadik helyen található)

14 Feladat2 (Legyűjtés) Map (kulcs, érték): (szó, ‘(tweet_id, sorszam)’) pl: (‘hello’, ‘(283300321072140290,15)’) Reduce összegzi a szavakhoz tartozó információkat pl: (‘hello’, ‘(283300321072140290,15), (2833003210721404568,11) ’)

15 Feladat3 (Szűrés) Keressük meg a XMAS szót tartalmazó tweeteket

16 Feladat3 (Szűrés) Map (kulcs,érték): (‘XMAS’, tweet_szoveg) Reducer sorszámozva kiírja a szovegeket (sorszám, tweet_szoveg)

17 Feladat4 (Elosztott számolás) Számoljuk meg a négyzetszámokat 1..10 000 000 között

18 Feladat4 (Elosztott számolás) Map (kulcs, érték): Összegzi a négyzetszámokat az adott intervallumba (‘szum’, db) //Math.sqrt(i) % 1.0 == 0.0 Reducer: Összegzi a részsorozatok (‘szum’, db)

19 Feladat5 (Rendezés) Rendezzük a 9-10 óra közötti tweeteket időrendbe

20 Feladat5 (Rendezés) Map (kulcs, érték): (idő, szöveg) adott intervallumon belül SimpleDateFormat formatter = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss"); dateStr = formatter.parse(date); dateStr.after(formatter.parse("12/24/2012 00:09:00")) dateStr.before(formatter.parse("12/24/2012 00:10:00")) Reducer: Összegzi az egyes tweeteket, ami ugyanabba az időpontban vannak (idő, tweetek valamivel elválasztva)

21 Feladat6 (Gráf feldolgozás) Ki-kit említett? Kimenő, bemenő élek egy adott user-re

22 Feladat6 (Gráf feldolgozás) Map(kulcs, érték): (user,”>,”+mentioned) (mentioned,”<,”+user) Reducer: Összegyűjti a bejövő/kimenő éleket (id, bejövő idk „|” kimenő idk)

23 Feladat7 (Csoportosítás) User-ek mely szavakat használják leggyakrabban (ditinctelve a user szavai)

24 Feladat7 (Csoportosítás) I. Job1 Map(kulcs, érték): („szó,user”,1) Reducer: összegezzük, max szavat kiírjuk minden user-ra (szó, user) Job2 Map(kulcs, érték): (szó, 1) Reducer: (szó, sum)

25 Feladat7 (Csoportosítás) II. Map(kulcs, érték): (user, szó) Reducer: Init H = HashMap Reduce H2-ba gyűjtjük a szavakat Összeszámoljuk H-ba belerakjuk, az egyes szavakhoz a sum értéket. CleanUp foreach (H.key, H.value)

26 Feladat8 (Korreláció keresés) Melyik szó melyik szóval áll gyakran együtt

27 Feladat9 (MaxKer) Keressük meg a legtöbbet tweetelt személyt (2job)

28 Feladat10 (lánc keresés) Említési lánc (mentioned)


Letölteni ppt "HADOOP Korszerű Adatbázisok 2013. Elérés, Belépés Elérés: eszakigrid109.inf.elte.hu Belépés: felhasználó/jelszó: neptun-kód Manager oldalak:"

Hasonló előadás


Google Hirdetések