hadoop

13
Valdas Vaivaras sban.com Distributed computing su Hadoop

Upload: barcamplt

Post on 27-May-2015

1.052 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Hadoop

Valdas Vaivarassban.com

Distributed computing su Hadoop

Page 2: Hadoop

Problema Nr. 1

Didelės apimties informaciją.Nuskaitymas ir įrašymas į kietąjį diską

daug lėtesnis negu duomenų apdorojimo sparta.

Page 3: Hadoop

Sprendimas

Vietoj vieno HDD naudoti 100, 1000…

1 HDD – 75Mb/s 1000 HDD – 75Gb/s

Procesas prie duomenų, o ne duomenys prie proceso.

Page 4: Hadoop

Problema Nr. 2

Reikia parašyti ne tik pačia aplikaciją, bet ir duomenų paskirstymo aplikaciją.

Taigi, reikia būti dviejų sričių specialstu.

Page 5: Hadoop

Kas yra Hadoop?

Hadoop yra atviro-kodo Google MapReduce implementacija, kurią sukūrė Apache.

Naudojant Hadoop, high-level programuotojui nereikia gilitnis į paskirstymo sistemą (distributed computing) .

Page 6: Hadoop

Šiuo metu Hadoop naudoja daugybė stambių įmonių, tarp kurių tokios kaip: Facebook, Amazon,Yahoo, IBM, veoh...

Naudojama:

Logų procesingas

Interneto crawlinimas ir indeksavimas

Data warehousingas

Pagrindiniai algoritmai:

Entity-Reduce

Sort

Join

Inverted Index

Page 7: Hadoop

Hadoop failų sistema (HDFS)

Slave Node

Slave Node

Slave Node

Slave Node

Slave Node

Client

HDFS

Slave Node

Master Node

Page 8: Hadoop

MapReduce

MapReduce programa apdoroja duomenis esančius HDFS.

MapReduce užduotį atlieka per du etapus Map ir Reduce.

Kiekviename etape naudojama rakto ir reikšmės (key-value) įvestis ir įšvestis.

Page 9: Hadoop

MAPmap (in_key, in_value) ->

(out_key, intermediate_value) list

Page 10: Hadoop

Pavyzdys: Explode Mapper

let map (k, v) =

foreach char c in v:

emit (c, 1)

(“A”, “bar”) (“b”,1), (“a”,1), (“r”,1)

(“B”, “camp”) (“c”,1), (“a”,1),

(“m”,1), (“p”,1)

Page 11: Hadoop

REDUCEreduce (out_key, intermediate_value list) ->

out_value list

Page 12: Hadoop

Pavyzdys : Sum Reducer

let reduce(k, vals) =sum = 0foreach int v in vals:

sum += vemit(k, sum)

(“a” [1,1]) (“a”, 2) (“m”, [1]) (“m”, 1)(“b”, [1]) (“b”, 1) (“p”, [1]) (“p”, 1)(“c”, [1]) (“c”, 1) (“r”, [1]) (“r”, 1)

Page 13: Hadoop

DEMO