Big Data Korszer adatbzisok 2014 Big Data Big

  • Slides: 50
Download presentation
Big Data Korszerű adatbázisok 2014

Big Data Korszerű adatbázisok 2014

Big Data • „Big data is the term for a collection of data sets

Big Data • „Big data is the term for a collection of data sets so large and complex that it becomes difficult to process using on-hand database management tools or traditional data processing applications. ” Wikipédia Gombos Gergő Korszerű Adatbázisok 2014 2

1981 Gombos Gergő Korszerű Adatbázisok 2014 3

1981 Gombos Gergő Korszerű Adatbázisok 2014 3

Gombos Gergő Korszerű Adatbázisok 2014 4

Gombos Gergő Korszerű Adatbázisok 2014 4

Gombos Gergő Korszerű Adatbázisok 2014 5

Gombos Gergő Korszerű Adatbázisok 2014 5

Big Data célja • „A vast quantity of UNSTRUCTURED data, which we now have

Big Data célja • „A vast quantity of UNSTRUCTURED data, which we now have the ability to process in REAL-TIME. ” – http: //www. youtube. com/watch? v=449 tws. MTr. JI A day in big data Gombos Gergő Korszerű Adatbázisok 2014 6

„Big Daták” • Okostelefon GPS és Internetkapcsolattal – 4, 6 milliárd mobil – 1

„Big Daták” • Okostelefon GPS és Internetkapcsolattal – 4, 6 milliárd mobil – 1 -2 milliárd rendelkezik internetkapcsolattal • Szenzorok – Nasa klímaadatok: 32 petabyte – Nagy hadron ütköztető (LHC): • 150 millió szenzor • 40 millió/s mérés • 0, 001%-át használják Gombos Gergő Korszerű Adatbázisok 2014 7

„Big Daták” • Sloan Digital Sky Survey – Csillagászati adatok – 200 GB /

„Big Daták” • Sloan Digital Sky Survey – Csillagászati adatok – 200 GB / éjszakánként – 140 terrabyte adat • Közösségi hálózatok – Facebook • 1, 06 milliárd felhasználó naponta • 30 milliárd elem megosztása naponta – Twitter • 175 millió tweet naponta • 465 millió felhasználó Gombos Gergő Korszerű Adatbázisok 2014 8

Milyen „big” a Big Data? • 2. 7 Zetabyte méretű • 2020 -ra 50

Milyen „big” a Big Data? • 2. 7 Zetabyte méretű • 2020 -ra 50 x több adat mint ma • 2012 -ben az adatok 90%-a 2 év alatt „termelődött” • 2 nap alatt több információt generálunk mint 2003 óta összesen Gombos Gergő Korszerű Adatbázisok 2014 9

Big Data használata • Californiai egyetem és a L. A. P. D. – Bűnözés

Big Data használata • Californiai egyetem és a L. A. P. D. – Bűnözés jóslás • (A különvélemény nem csak sci-fi) • Google influenza terjedés • Amerikai választások – https: //election. twitter. com/ • Város tervezés, dugó elkerülés – MIT mobilok alapján vizsgálják a felhasználókat és utazási szokásaikat Gombos Gergő Korszerű Adatbázisok 2014 10

Kihívások http: //www. wired. com/insights/wp-content/uploads/2012/11/big_data_660. jpg Gombos Gergő Korszerű Adatbázisok 2014 11

Kihívások http: //www. wired. com/insights/wp-content/uploads/2012/11/big_data_660. jpg Gombos Gergő Korszerű Adatbázisok 2014 11

http: //www. ibmbigdatahub. com/sites/default/files/public_images/Smart 16. PNG Gombos Gergő Korszerű Adatbázisok 2014 12

http: //www. ibmbigdatahub. com/sites/default/files/public_images/Smart 16. PNG Gombos Gergő Korszerű Adatbázisok 2014 12

Túl sok az adat Gombos Gergő Korszerű Adatbázisok 2014 13

Túl sok az adat Gombos Gergő Korszerű Adatbázisok 2014 13

Twitter Gombos Gergő Korszerű Adatbázisok 2014 14

Twitter Gombos Gergő Korszerű Adatbázisok 2014 14

Twitter • Max. 140 karakter hosszú üzenet • Geo információk • Retweet – Korábbi

Twitter • Max. 140 karakter hosszú üzenet • Geo információk • Retweet – Korábbi tweetelése • Sample API – Valós tweetek 1%-a Gombos Gergő Korszerű Adatbázisok 2014 15

Twitter üzenetek elemzése • Marketing – Vásárlói visszajelzés • Kampány elemzés – Vélemények elemzése

Twitter üzenetek elemzése • Marketing – Vásárlói visszajelzés • Kampány elemzés – Vélemények elemzése tweet alapján • http: //www. csc. ncsu. edu/faculty/healey/tweet_viz/tweet_app/ Gombos Gergő Korszerű Adatbázisok 2014 16

Twitter üzenetek elemzése • Befolyásos ember keresés Gombos Gergő Korszerű Adatbázisok 2014 17

Twitter üzenetek elemzése • Befolyásos ember keresés Gombos Gergő Korszerű Adatbázisok 2014 17

Twitter üzenetek elemzése • Hír terjedése http: //ghergich. com/infographic-examples/harlem-shake-vs-gangnam-style/ Gombos Gergő Korszerű Adatbázisok 2014

Twitter üzenetek elemzése • Hír terjedése http: //ghergich. com/infographic-examples/harlem-shake-vs-gangnam-style/ Gombos Gergő Korszerű Adatbázisok 2014 18

Twitter faster than earthquakes http: //www. youtube. com/watch? v=0 UFs. Jh. YBxz. Y Gombos

Twitter faster than earthquakes http: //www. youtube. com/watch? v=0 UFs. Jh. YBxz. Y Gombos Gergő Korszerű Adatbázisok 2014 19

Twitter adatok http: //www. jeffbullas. com/wp-content/uploads/2013/10/sensational-social-mediafacts-andstatistics-behind-Twitter. jpg Gombos Gergő Korszerű Adatbázisok 2014 20

Twitter adatok http: //www. jeffbullas. com/wp-content/uploads/2013/10/sensational-social-mediafacts-andstatistics-behind-Twitter. jpg Gombos Gergő Korszerű Adatbázisok 2014 20

Twitter adatok Gombos Gergő Korszerű Adatbázisok 2014 21

Twitter adatok Gombos Gergő Korszerű Adatbázisok 2014 21

Hadoop

Hadoop

Kiknek jó a hadoop? “. . . to create building blocks for programmers who

Kiknek jó a hadoop? “. . . to create building blocks for programmers who just happen to have lots of data to store, lots of data to analyze, or lots of machines to coordinate, and who don’t have the time, the skill, or the inclination to become distributed systems experts to build the infrastructure to handle it. ” Tom White Hadoop: The Definitive Guide Gombos Gergő Korszerű Adatbázisok 2014 23

Kik haszálják? Gombos Gergő Korszerű Adatbázisok 2014 24

Kik haszálják? Gombos Gergő Korszerű Adatbázisok 2014 24

Hadoop történelem • 2004 – Google publikálja a Map. Reduce technikát • 2006 –

Hadoop történelem • 2004 – Google publikálja a Map. Reduce technikát • 2006 – Apache projekt lett Yahoo! támogatással • További támogatók: Gombos Gergő Korszerű Adatbázisok 2014 25

Verziók • • • • 20 February, 2014: Release 2. 3. 0 available 11

Verziók • • • • 20 February, 2014: Release 2. 3. 0 available 11 December, 2013: Release 0. 23. 10 available 15 October, 2013: Release 2. 2. 0 available 23 September, 2013: Release 2. 1. 1 -beta available 25 August, 2013: Release 2. 1. 0 -beta available 23 August, 2013: Release 2. 0. 6 -alpha available 1 Aug, 2013: Release 1. 2. 1 (stable) available 8 July, 2013: Release 0. 23. 9 available 6 June, 2013: Release 2. 0. 5 -alpha available 5 June, 2013: Release 0. 23. 8 available 13 May, 2013: Release 1. 2. 0 available 25 April, 2013: Release 2. 0. 4 -alpha available 18 April, 2013: Release 0. 23. 7 available 15 February, 2013: Release 1. 1. 2 available 14 February, 2013: Release 2. 0. 3 -alpha available Gombos Gergő Korszerű Adatbázisok 2014 26

Hadoop alprojektek • • • Ambari (Hadoop menedzser) Avro (adat formátumok támogatása) Cassandra (adatbázis)

Hadoop alprojektek • • • Ambari (Hadoop menedzser) Avro (adat formátumok támogatása) Cassandra (adatbázis) Chukwa (monitorozó) Hama (analizáló eszköz) Hbase (adatbázis) Hive (SQL szerű nyelv) Mahout (gépi tanulás csomag) Pig (lekérdező nyelv) Spark (gyors, általánosított motor elemzésekhez) Zoo. Keeper (koordinátor) Gombos Gergő Korszerű Adatbázisok 2014 27

Miért elosztva? • Feladat: Olvassunk fel 1 TB adatot egy merevlemezről. Mennyi idő szükséges

Miért elosztva? • Feladat: Olvassunk fel 1 TB adatot egy merevlemezről. Mennyi idő szükséges ehhez? • Ez 4 óra lenne. Gombos Gergő Korszerű Adatbázisok 2014 28

approximately 3800 nodes Gombos Gergő Korszerű Adatbázisok 2014 29

approximately 3800 nodes Gombos Gergő Korszerű Adatbázisok 2014 29

HDFS • HDFS = Hadoop Distributed Filesystem Gombos Gergő Korszerű Adatbázisok 2014 30

HDFS • HDFS = Hadoop Distributed Filesystem Gombos Gergő Korszerű Adatbázisok 2014 30

HDFS • HDFS Split Block 1 Block 2 Block 3 Gombos Gergő Korszerű Adatbázisok

HDFS • HDFS Split Block 1 Block 2 Block 3 Gombos Gergő Korszerű Adatbázisok 2014 31

HDFS • HDFS replikálás Block 1 Block 2 Block 3 Gombos Gergő Korszerű Adatbázisok

HDFS • HDFS replikálás Block 1 Block 2 Block 3 Gombos Gergő Korszerű Adatbázisok 2014 32

Architecktúra • Master-Slave architektúra • DFS Master “Namenode” – – Kezeli a fájlrendszert Karbantartja

Architecktúra • Master-Slave architektúra • DFS Master “Namenode” – – Kezeli a fájlrendszert Karbantartja a fájlnév és hozzátartozó blokkok kapcsolatát Kezeli a blokk lefoglalást / replikálást Kezeli a hozzáférést a fájlrendszerhez • DFS Slaves “Datanodes” kezelik a blokk tárolást – – Tárolják az adatblokkokat Kliensek hozzáférnek a blokkokhoz közvetlenül a datanode-ról Rendszeresen küld blokk információkat a namenode-nak Periódikusan ellenőrzi a blokkok sértetlenségét. Gombos Gergő Korszerű Adatbázisok 2014 33

Architektúra (1. 2. 1) Gombos Gergő Korszerű Adatbázisok 2014 34

Architektúra (1. 2. 1) Gombos Gergő Korszerű Adatbázisok 2014 34

Architektúra (2. 2) Gombos Gergő Korszerű Adatbázisok 2014 35

Architektúra (2. 2) Gombos Gergő Korszerű Adatbázisok 2014 35

Hadoop alapelvek • A kódot mozgassuk az adatokhoz • Ne kelljen foglalkozni szinkronizálással, hiba

Hadoop alapelvek • A kódot mozgassuk az adatokhoz • Ne kelljen foglalkozni szinkronizálással, hiba toleranciával • A nehéz munkát ő végzi, tudunk koncentrálni az adat feldolgozásra Gombos Gergő Korszerű Adatbázisok 2014 36

Hadoop előnyök • Hibás futás automatikusna újra futtatja • Több node számolja ugyanazt, így

Hadoop előnyök • Hibás futás automatikusna újra futtatja • Több node számolja ugyanazt, így a lassúság nem okoz gondot • Nagy adatoknál a map ott fut ahol az adat van, ha lehetséges Gombos Gergő Korszerű Adatbázisok 2014 37

Map. Reduce • Paradigma: – A problémát bontsuk kisebb feladatokra, oldjuk meg párhuzamosan, összegezzük

Map. Reduce • Paradigma: – A problémát bontsuk kisebb feladatokra, oldjuk meg párhuzamosan, összegezzük az eredményt • Map: – Alakítsuk a bementi adatokat (kulcs, érték) párokra • Reduce: – Alakítsuk az adott kulcshoz tartozó adatokat a kimeneti formára Gombos Gergő Korszerű Adatbázisok 2014 38

Példa Gombos Gergő Korszerű Adatbázisok 2014 39

Példa Gombos Gergő Korszerű Adatbázisok 2014 39

További lehetőségek • Partitioners – Map kulcsok hashalésének felüldefiniálása • Combiners – Map kimenetének

További lehetőségek • Partitioners – Map kulcsok hashalésének felüldefiniálása • Combiners – Map kimenetének redukálása • Compression – Output tömörítése • Counters – Folyamatjelzők • Zero Reduces – Csak a map fut, nincs sort és shuffle Gombos Gergő Korszerű Adatbázisok 2014 40

Map public static class Map extends Mapper<Long. Writable, Text, Int. Writable> { private final

Map public static class Map extends Mapper<Long. Writable, Text, Int. Writable> { private final static Int. Writable one = new Int. Writable(1); private Text word = new Text(); public void map(Long. Writable key, Text value, Context context) throws IOException, Interrupted. Exception { String line = value. to. String(); String. Tokenizer tokenizer = new String. Tokenizer(line); while (tokenizer. has. More. Tokens()) { word. set(tokenizer. next. Token()); context. write(word, one); } } } Gombos Gergő Korszerű Adatbázisok 2014 41

Reduce public static class Reduce extends Reducer<Text, Int. Writable, Text, Int. Writable> { public

Reduce public static class Reduce extends Reducer<Text, Int. Writable, Text, Int. Writable> { public void reduce(Text key, Iterable<Int. Writable> values, Context cont) throws IOException, Interrupted. Exception { int sum = 0; for (Int. Writable val : values) { sum += val. get(); } context. write(key, new Int. Writable(sum)); } } Gombos Gergő Korszerű Adatbázisok 2014 42

Elérés • Elérés: – monet. inf. elte. hu • Belépés: – felhasználó/jelszó: ami eddig

Elérés • Elérés: – monet. inf. elte. hu • Belépés: – felhasználó/jelszó: ami eddig • Manager oldalak: – http: //monet. inf. elte. hu: 50030 – http: //monet. inf. elte. hu: 50070 Gombos Gergő Korszerű Adatbázisok 2014 43

Parancsok • Listázás – hadoop fs –ls • Kiírja egy fájl tartalmát – hadoop

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 Gombos Gergő Korszerű Adatbázisok 2014 44

Hadoop streaming hadoop jar /home/hadoop-1. 2. 1/contrib/streaming/ hadoop-streaming-1. 2. 1. jar -mapper "cut -d'

Hadoop streaming hadoop jar /home/hadoop-1. 2. 1/contrib/streaming/ hadoop-streaming-1. 2. 1. jar -mapper "cut -d' ' -f 1" -reducer "uniq" -input /user/ggombos/adatok. txt -output out_adatok num. Reduce. Tasks 1 Gombos Gergő Korszerű Adatbázisok 2014 45

Eclipse plugin 1. Letölteni a szükséges jar-okat a. http: //oktnb 16. inf. elte. hu/ggombos/korszeru/

Eclipse plugin 1. Letölteni a szükséges jar-okat a. http: //oktnb 16. inf. elte. hu/ggombos/korszeru/ b. hadoop-eclipse-plugin-1. 2. 1. jar c. hadoop-core-1. 2. 1. jar 2. 3. 4. 5. 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 46

Hadoop location • map/reduce master: – host: monet. inf. elte. hu – port: 10814

Hadoop location • map/reduce master: – host: monet. inf. elte. hu – port: 10814 • dfs master: – use M/R Master host OK – host: monet. inf. elte. hu – port: 8020 • User name: neptun azonosito Gombos Gergő Korszerű Adatbázisok 2014 47

Segítség A generált kódban lecseréljük a sorokat erre: conf. set. Input. Format(Text. Input. Format.

Segítség A generált kódban lecseréljük a sorokat erre: conf. set. Input. Format(Text. Input. Format. class); conf. set. Output. Format(Text. Output. Format. class); File. Input. Format. set. Input. Paths(conf, new Path("In")); File. Output. Format. set. Output. Path(conf, new Path("Out")); Létező fmappák törlése: File. System fs = File. System. get(conf); if (fs. exists(new Path(“Outer”))) fs. delete(new Path(“Outer”), true); Gombos Gergő Korszerű Adatbázisok 2014 48

Futtatás • Export -> normal JAR • Felmásoljuk monet-re • Hadoop jar_name. jar Gombos

Futtatás • Export -> normal JAR • Felmásoljuk monet-re • Hadoop jar_name. jar Gombos Gergő Korszerű Adatbázisok 2014 49

Köszönöm a figyelmet!

Köszönöm a figyelmet!