Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
Aleksandar Kartelj
Matematički Fakultet Univerziteta u Beogradu
Definicija, primeri upotrebe, resursi i tehnike
Uvod u analitiku Velikih podataka / A. Kartelj
34
Veliki podaci predstavljaju kolekcije podataka koje imaju: veliku dimenziju (engl. high-volume);
brzo se stvaraju (engl. high-velocity);
i imaju veliku raznovrsnost (engl. high-variety).
Fokus je na osmišljavanju efikasnih tehnika: reprezentacije i skladištenja;
procesiranja i donošenja zaključaka!
Uvod u analitiku Velikih podataka / A. Kartelj 33
Sistemi za predlaganje na Internetu (engl. recommendation systems)
Nadgledanje socijalnih mreža
Personalizovana pretraga Interneta
Detekcija anomalija
Nadgledanje rada mobilnih, senzorskih mreža i drugih mreža
Navigacija u saobraćaju
Semantička analiza silka i video snimaka
...
Uvod u analitiku Velikih podataka / A. Kartelj 32
Procesor
Radna memorija
Memorija za skladištenje
Mreža
Uvod u analitiku Velikih podataka / A. Kartelj 31
“Big Data Analytics”, David Loshin, 2013
Tradicionalne tehnike prilagođene novim izazovima:
Masivni paralelizam (pre svega paralelizam nad podacima);
Ogromna skladišta za podatke;
Distribucija podataka (+replikacija);
Mreže visokih performansi (protok, RTT);
Izračunavanja visokih performansi (klasteri {C|G}PU, globalna izračunavanja);
Upravljanje zadacima i nitima;
Tehnike pretraživanja podataka;
Tehnike mašinskog učenja;
Tehnike vizuelizacije podataka;
…
Uvod u analitiku Velikih podataka / A. Kartelj 30
Herman Holerit, …, Google pretraga
Uvod u analitiku Velikih podataka / A. Kartelj
29
Neki autori počinju događajima od P.N.E, ali je to malo isforsirano…
1880 – Popis u Americi: sa 10 godina obrade na 3 meseca. (IBM)
1926 – Nikola Tesla:
Predviđa pojavu mobilnih telefona i bežičnog prenosa informacija;
„Cela Zemlja će biti poput jednog velikog mozga“.
1958 – IBM: uvođenje koncepta poslovne inteligencije (BI).
1991 – WWW
1997 – Michael Lesk: teoretska diskusija o količini informacija (12 eksabajta= 12 x 1018?).
Uvod u analitiku Velikih podataka / A. Kartelj 28
“A brief history of big data everyone should read”, Bernard Marr, 2015
2000: Google izveštaj o količini informacija:
~1.5 milijardi gigabajta = 1.5 x 1018 B;
Ili ~ 250MB po svakoj osobi.
Ovo nije baš bilo jednostavno oceniti, uzimali su se u obzir:
Duplikati;
Kompresija;
Arhivirani medijumi;
TV i Radio sadržaji (emitovani – neskladišteni sadržaj...);
Rast i pad određenih vidova komunikacije...
Koliko je informacija u Univerzumu?
Uvod u analitiku Velikih podataka / A. Kartelj 27
2004: Jeffrey Dean i Sanjay Ghemawat, MapReduce: Simplified Data Processing on Large Clusters
Obavezno pročitati!
Implementacija MapReduce modela za velike klastere mašina
Ključni aspekt Google pretrage
Paralelizacija
Otpornost na otkaze
Distribucija podataka
Raspoređivanje opterećenja
Uvod u analitiku Velikih podataka / A. Kartelj 26
Uvod u analitiku Velikih podataka / A. Kartelj 25
https://dzone.com/articles/word-count-hello-word-program-in-mapreduce
2008: serveri proizvode 9.57 x 1021B ili oko 12GB po osobi.
2010: Dva dana informacija = Ukupno informacija do 2003. godine.
Procena je da će do 2020. ovaj broj biti 5200 GB?
Zašto, koje su to informacije?
Uvod u analitiku Velikih podataka / A. Kartelj 24
0
500
1000
1500
2013 2014 2015 2016 2017
Broj napravljenih slika (u milijardama)
Broj napravljenih slika (u milijardama)
Hadoop i Spark
Uvod u analitiku Velikih podataka / A. Kartelj
23
2003: Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung, The Google File
System (GFS).
2004: Jeffrey Dean i Sanjay Ghemawat , MapReduce: Simplified Data Processing…
2006: Doug Cutting , Mike Cafarella, započet projekat Hadoop.
2006: Spojeni NDFS (GFS)+ MapReduce osnovni elementi.
2006: Verzija Hadoop 0.1.0.
2006: Hadoop sortirao 1.8 TB podataka na 188 jezgara za 47.9 sati.
2007: Yahoo koristi Hadoop na 1000 mašina.
2008: Yahoo indeks pretrage na 10.000 Hadoop jezgara.
2009: Hadoop sortira 1TB za 62 sekunde.
Uvod u analitiku Velikih podataka / A. Kartelj 22
Uvod u analitiku Velikih podataka / A. Kartelj 21
Uvod u analitiku Velikih podataka / A. Kartelj 20
Engl. Hadoop Distributed File System
Zasnovan na radu iz 2003. godine:Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung,
The Google File System (GFS)
Model izvršavanja u kojem se preferiraju obrada velikih podataka.
Pretpostavlja se da su datoteke jako velike.
Da se čitaju linearno najčešće.
Da nema puno izmena nad njima.
Ne implementira keširanje zbog ovakvih pretpostavki.
Iako postoji keširanje na nivou lokalnih sistema datoteka (pod Linux čvorovima)
Hadoop najbolje radi sa srednje velikim brojem ekstremno velikih datoteka >500MB.
Poželjan je model upotrebe: „piši jednom, čitaj često“.
Dozvoljene operacije:
kreiranje nove datoteke;
dodavanje na kraj datoteke;
brisanje;
preimenovanje.
Omogućava konkurentno nadovezivanje.
Uvod u analitiku Velikih podataka / A. Kartelj 19
Datoteka se deli na blokove (npr. 64MB) i kopira na višestrukim čvorovima (podrazumevano 3).
Ovo liči na straničenje u OS samo što je dimenzija veća i postoji redudantnost.
Svi blokovi imaju pridružene metapodatke o kojima brine čvor(ovi) za imenovanje.
Dizajnirano tako da radi na skali petabajta 1015B.
Uvod u analitiku Velikih podataka / A. Kartelj 18
Uvod u analitiku Velikih podataka / A. Kartelj 17
http://hortonworks.com/hadoop/hdfs/
HDFS pokušava da postavi replike tako da smanji mogućnost gubljenja podataka.
Poželjno da se replike nalaze na različitim jedinicama otkaza tj. nezavisnim skupovima čvorova.
Uvod u analitiku Velikih podataka / A. Kartelj 16
Uvod u analitiku Velikih podataka / A. Kartelj 15
https://c1.staticflickr.com/3/2133/2179187226_e2e107e0cd.jpg
Enlg. Yet Another Resource Negotiator
Obezebeđuje planiranje resursa na Hadoop-u:
dodeljivanje CPU vremena,
memorije,
mrežnog protoka,
itd.
Alat koji obezbeđuje i drugim programskim okvirima da pozivaju Hadoop.
Uvod u analitiku Velikih podataka / A. Kartelj 14
Implementacija MapReduce paradigme novijeg datuma (2014).
Većina izračunavanja u radnoj memoriji.
U nekim primerima i 100x brži od Hadoop-a, npr. obradi tokova podataka.
Lakši za razvoj aplikacija: Python, Java, Scala, R.
Ne poseduje distribuirani sistem datoteka poput HDFS.
Ima neki vid sistema datoteka, ali bez replikacije na disku pa nije toliko otporan na otkaze.
Ipak, način organizovanja podataka u memoriji (RDD) obezbeđuje određenu otpornost na otkaze.
Može se koristiti u kombinaciji Spark+Yarn+Hadoop.
Uvod u analitiku Velikih podataka / A. Kartelj 13
https://www.kdnuggets.com/2015/08/big-data-question-hadoop-spark.html
12
11
Osnovne funkcionalnosti:
upravljanje zadacima;
upravljanje memorijom;
oporavak od otkaza;
interakcija sa sekundarnom memorijom;
Glavnu programsku apstrakciju čine tzv. RDD„otporni distribuirani skupovi podataka “(engl. resilent distributed datasets)
2012: Matei Zaharia i ostali, Resilient Distributed Datasets: A Fault-Tolerant Abstraction for In-Memory Cluster Computing
10
Formalno, RDD je nepromenljiva izdeljena kolekcija podataka. RDD se može kreirati samo upotrebom neke determinističke operacije nad:
1. podatkom u stabilnom skladištu (npr. učitavanje sa datoteke na disku);
2. drugim RDD podatkom.
Umesto ažuriranja podataka u sistemu datoteka poput HDFS, RDD pamti spisak transformacija.
Kako je u pitanju paralelizam nad podacima, sva jezgra izvršavaju istu operaciju nad različitim ulaznim podacima.
U slučaju otkaza samo se izvrše sve potrebne transformacije nad odgovarajućim parčetom podataka.
RDD radi u glavnoj memoriji što ga čini pogodnim za: izvršavanje iterativnih algoritam
i interaktivnih algoritama za istraživanje podataka.
9
Gledano iz perspektive programera, Spark program pokreće dva tipa programa:
1. Glavni program (engl. Driver program) koji pokreće različite paralelne operacije nad klasterom i vrši sažimanje parcijalnih rezultata;
2. Izvršni programi (engl. wokers/executors) kojiizvršavaju iste operacije nad različitim particijama podataka.
8
7
MapReduce paradigma je praktična kada je reč o paralelizmu nad podacima (iste operacije nad različitim podacima).
Nisu svi problemi pogodni za rešavanje, glavni preduslovi je da je problem moguće dekomponovati na delove.
Takođe je pogodno da su:
Ili čvorovi dovoljno bliski zbog malih troškova sinhronizacije tj. komunikacije;
Ili da su operacije dovoljno dugotrajne da kompenzuju trošak komunikacije.
Google search, ML primene, distribuirana optimizacija?
Uvod u analitiku Velikih podataka / A. Kartelj
6
1. Na osnovu neke početne liste Internet adresa, tzv. Internet pauci (eng. spiders) započinju rekurzivni obilazak Web-a.
Prilikom obilaska, oni otvaraju stranice simulirajući Internet pregledače (kao što čovek to radi).
2. Informacije o pretraženim Web adresama i njihovim pridruženim ključnim rečima, kvalitetu, svežini sadržaja itd. čuvaju na distribuiranoj mreži računara.Ova distribuirana mreža čini tzv. Indeks pretrage i on u slučaju Google pretraživača:
sadrži informacije o nekoliko stotina milijardi stranica;
zauzima proctor od preko 100 miliona gigabajta;
i nagađa se oko 650 hiljada jezgara (poslovna tajna).
3. Kada korisnik unese ključne reči u polje za pretragu i potvrdi:
Hiljade jezgara započinju simultano pretraživanje dela indeksa i vraćaju parcijalne rezultatekoji se potom usklađuju (sortiraju) prema PageRank metrici.
Uvod u analitiku Velikih podataka / A. Kartelj 5
http://www.zdnet.com/article/googles-650000-core-warehouse-size-computer/)
Uvod u analitiku Velikih podataka / A. Kartelj 4
Rubens Zimbres,
http://www.necatidemir.com.tr/wp-content/uploads/2016/09/ml-applied-to-big-
data.jpeg
U mašinskom učenju postoje problemi koji se uklapaju u koncept paralelizma nad podacima... ...Ili se bar njihovi delovi uklapaju, npr.:
distribuirana unakrsna-validacija
Ili optimizacija hiperparametara.
Spark MLlib –distribuiranim realizacije popularnih ML algoritama
Regresija, klasifikacija, dimenzionu redukciju, ..., i neke tehnike optimizacije.
Spark GraphX –paralelna izračunavanja nad grafolikim podacima
Google Cloud Natural language API
Prepoznavanje sentimenta, entiteta, korisničkog zadovoljstva, ...
Uvod u analitiku Velikih podataka / A. Kartelj 3
Ima smisla distribuirati samo probleme koji su razdvojivi: mogu se razbiti na delove, rešiti pa uklopiti u konačno rešenje.
Ovo naravno ne važi u kontekstu kombinatorne optimizacije i NP-teških problema.
Nema smisla „napadati“ NP-težak problem MapReduce algoritmom:
struktura optimalnog rešenja drastično odstupa od strukture rešenja formiranog od optimalnih rešenja delova problema;
P=NP?
Ima smisla za neke probleme iz domena konveksnei globalne optimizacije.
Uvod u analitiku Velikih podataka / A. Kartelj 2
Očekuje se dramatičan porast količine podataka u budućnosti:
ljudi i mašine generišu sve više podataka: slike, video snimci, senzorski podaci u pametnim kućama, fabrikama...
podaci iz svemira;
podaci koji nastaju u istraživanju elementarnih čestica.
Posledično, privreda i nauka se okreću induktivnom zaključivanju.
Naučni metod se menja, emprijski rezultati ukazuju na teorijske.
Privrednici imaju mogućnost da zaključuju i testiraju svoje zaključke vrlo brzo.
Tehnologije se razvijaju, ali nedovoljno brzo za rast količine podataka.
Uvod u analitiku Velikih podataka / A. Kartelj 1
Uvod u analitiku Velikih podataka / A. Kartelj
0