hadoop - intro
DESCRIPTION
Intro to Hadoop.TRANSCRIPT
Data locality in
distributed systems
Hadoop
Stoenescu Radu
Data locality
● algoritmul necesita transferuri reduse de
date (d.p.d.v. al frecventei si dimensiunii)
Importanta
● erori mai putine si mai usor de detectat
● vitezao CPU ~ 32GB/s
o Network ~ 1Gb/s
Probleme
● fiecare doua zile aduc atatea date cat de
la inceputul omenirii pana in 2003
● date de intrare care nu pot si stocate
unitar -> date fragmentate la nivel de
cluster
O solutie
Hadoop
● sistem pentru stocarea si procesarea
datelor la nivelul unui cluster construit cu
"commodity hardware"
● doua componenteo stocare HDFS
o procesare Map - Reduce
Stocare - cerinte
● toleranta la defecte => redundanta
● performanta pentru operatia de citire
Idei
● Un nod central (Namenode) pentru
coordonare
● Date replicate la mai multe noduri de
stocare (Datanode)
● Date stocate continuu
HDFS - Arhitectura
Procesare - cerinte
● high level
● scalabilitate
● viteza
Map Reduce
● map(raw_data) => [<id, reprezentare>]
● reduce(<id, [reprezentare1, ...]>) =>
<id, rezultat>
Arhitectura
Exemplu - numararea cuvintelor
● raw_input => document
● map(raw_input) => [<cuvant, 1>]
● reduce(<cuvant, [1, ...]>) =>
<cuvant, sum([1, ... ])>
Ce se mai intampla
● Dupa etapa de map se prioritizeaza
transferurile
● Heartbeat la nivelul clusterului
Ce am obtinut
● Interfata simpla
● Toleranta la defecte
● Algoritm care favorizeaza un numar mic
de transferuri la nivelul cluster-ului
Multumesc