View
45
Download
3
Category
Preview:
Citation preview
Универзитет у БеоградуФакултет организационих наука
Лабораторија за електронско пословање
Hadoop i sveprisutnoračunarstvo
Darko Marjanović
Đorđe Stepanić
Miloš Milovanović
ELAB
• Oblasti izučavanja u Laboratoriji za elektronsko poslovanje:
– Elektronsko poslovanje
– Internet i mobilne tehnologije
– Big Data
– Cloud Computing
– E-obrazovanje
– Sveprisutno računarstvo
– Socijalne mreže
Big Data
• Big Data predstavlja podatake koji su one količine koja prevazilazi mogućnostiuobičajeno korišćenog softvera zaskladištenje, obradu i upravljanje podacima.
• Big data je sve ono što ne može da stane u Excel.
Big Data dimenzije
• Volume – velika brzina rasta novih podataka ičuvanje postojećih dovodi do toga da se sadaskladište stotine terabajta pa čak i mnogo više.
• Variety – raznolikost podataka, više nijedovoljno čuvati samo struktuirane podatke veći slike, podatke sa društvenih mreža, logove, senzorske podatke…
• Velocity – brzina kojom pristižu novi podaci je velika i veća je od brzine obrade podataka.
Hadoop
• Hadoop je open-source software framework Apache fondacije.
• Služi za skladištenje i procesiranje velikihkoličina podataka.
• Hadoop je nastao 2005. godine od straneDoug Cutting i Mike Cafarella.
• Ime je dobio po slonu igrački Cutting-ovogsina.
• Napisan je u Java programskom jeziku.
Hadoop komponente
• Hadoop Common paket
• Hadoop Distributed File System(HDFS)
• Hadoop YARN
• Hadoop Map Reduce
Hadoop Ekosistem
• Hadoop je moguće nadograditi brojnim alatimakojima sa poboljšavaju mogućnosti i efikasnostobrade podataka.
• Dele se na alate za prenošenje podataka, analizupodataka, upravljanje klasterom…
• Neki od alata koji se grade na Hadoop su:– Apache Hive– Apache Pig– Apache Flume– Apache Hue– Apache HCatalog– ……
Hadoop – Elab klaster
• Master node, Slave1 node, Slave2 node
– 27 Cores (CPU)
– 60 GB RAM
– 1TB +++
• Test klaster na privatnom Cloud-u, realizovanuz pomoć OpenStack softvera.
– 32 Cores (CPU)
– 64 GB RAM
– 2TB +++
Hadoop – Za šta se koristi
• Prikupljanje i analiza
– Moodle podaci
– Twitter podaci
– Senzorski podaci
• Integracija sa drugim servisima
– Sharepoint
• Edukativne svrhe
Projekat Slonče i Malina
• Skupljanje i analiza senzorskih podataka izpametnog okruženja.
• Poboljšanje algoritma za upravljačke akcije.
• Generisanje izveštaja radi donošenja boljihodluka.
• Praćenje u realnom vremenu.
Zašto Hadoop
• Velika brzina pristizanja novih podataka, upisivanje novih podataka na 2 do 3 sekunde.
• Raznolikost podataka, senzorski podaci.
• Velika količina podataka, mogućnost zadugotrajno skladištenje.
Početni model
Model u razvoju - Upravljačke akcije
Sveprisutno računarstvo
Apache Flume
• Brz transfer podataka u Hadoop HDFS
• Sources – izvor podataka
• Channels – kanal prenosa podataka
• Sinks - izvor
Apache Flume
• Koristi se za najčešće za log podatke, serijalizovane podatke, podatke sa društvenihmreža…..
• Namenjen je isključivo za transfer podataka, u slučaju obrade podataka prilikom transferakoristi se Apache Storm.
• Ne koristi se za struktuirane podatke, zaprenos relacione baze u HDFS se koristi Sqoop.
Apache Flume
Hive - nastanak
12m korisnika
<100GB/dan
2006
58m korisnika
1TB/dan
2007
360m korisnika
>10TB
2009
FacebookMySQL, Java Derby, ScribePython skripte
Hive nastanak
• Uvođenje Hadoop-a
• Potreba za MapReduce-om
• 30PB podataka na klasteru 2011-te
• Korisnici – marketing stručnjaci
• Nedostaci – napredno poznavanje Java programskog jezika, teško čitljive šeme podataka
Šta je Hive?
• Hive – data warehousing infrastruktura za Hadoop
• HiveQL zasnovan na SQL-u
• Jednostavnije pisanje MapReduce programa
• Primena:– Analiza log podataka
– Obrada teksta
– Indeksiranje dokumenata
– Statističke analize, Business Intelligence
Hive komponente
• Shell – interakcija sa korisnikom
• Driver – upravljanje Hive engine-om
• Compiler
• Execution engine – izvršavanje
• Meta Store – šema tabela + SerDe
Hive vs OLAP
• Skaliranje i za više od 10.000 mašina u klasteru
• Obrada >1TB podataka
• Nema izmene podataka
• Male promene na podacima imaju mali značaj
Hive tipovi podataka
Primitivni
Integer-tinyint 1B
-smallint 2B
-int 4B
-bigint 8B
Boolean – True/False
Float-float
-double
String
Složeni
Structs
Maps (key-value)
Arrays
Zašto Hive?
• Laka manipulacija podataka
• Nestruktuirani podaci prikazani kao tabele
• Mogućnosti proširivanja
• Sličnost sa SQL-om
Hive Demo
Recommended