ocessamento de Big Data - UFPR

28
Aula #10 - Processamento distribuído de dados EDUARDO CUNHA DE ALMEIDA INDUSTRIA 4.0 Processamento de Big Data FONTE: DELIRIUM CAFE

Transcript of ocessamento de Big Data - UFPR

Aula #10 - Processamento distribuído de dadosEDUARDO CUNHA DE ALMEIDA

INDU

STRI

A 4.

0Pr

oces

sam

ento

de

Bi

g Da

ta FONT

E: DE

LIRIUM

CAFE

PÓS ENGENHARIA INDUSTRIAL 4.0

Agenda

UNIVERSIDADE FEDERAL DO PARANÁ 2

- Divisão do problema - MapReduce - Hadoop - SQL-on-Hadoop: Hive

PÓS ENGENHARIA INDUSTRIAL 4.0

Divisão do problema (conta palavras)

UNIVERSIDADE FEDERAL DO PARANÁ 3

peixe baleia tartaruga baleia baleia baleia tartaruga peixe polvo polvo tartaruga polvo polvo polvo polvo polvo tartaruga tartaruga

DADO NÃO ESTRUTURADO (TEXTO) SEPARAR LINHAS

peixe baleia tartaruga

baleia baleia baleia

tartaruga peixe polvo

polvo tartaruga polvo

polvo polvo polvo polvo

tartaruga tartaruga

CONTAR

peixe, 2

baleia, 4

tartaruga, 5

polvo, 7

GREP CATpeixe, 2 baleia, 4

tartaruga, 5 polvo, 7

RESULTADO

PÓS ENGENHARIA INDUSTRIAL 4.0

Landscape de Proc. Distribuído

UNIVERSIDADE FEDERAL DO PARANÁ 4

FONTE: MATTTURCK.COM

PÓS ENGENHARIA INDUSTRIAL 4.0

MapReduce

UNIVERSIDADE FEDERAL DO PARANÁ 5

MapReduce é um modelo de programação para simplificar o processamento de dados distribuídos.

PÓS ENGENHARIA INDUSTRIAL 4.0

MapReduce

UNIVERSIDADE FEDERAL DO PARANÁ 6

MapReduce é um modelo de programação para simplificar o processamento de dados distribuídos.

Baseado em 2 primitivas Map (varredura) e Reduce (ou agrupamento)

Esconde problemas de distribuição da computação

Permite escalar o processamento para milhares de nodos

PÓS ENGENHARIA INDUSTRIAL 4.0

Histórico do MapReduce

UNIVERSIDADE FEDERAL DO PARANÁ 7

2004 2008 2009-11

2011 2014

TERASORT BENCHMARK 3 MIN 48 SEC

ARTIGO MAPREDUCE

ARTIGO GOOGLE

FILE SYSTEM

2003

YAHOO! 42K NODOS

HADOOP

2006YAHOO! 600 NODOS

FINANCIAMENTO 110$ MI

2018

VERSÃO 3.1

PÓS ENGENHARIA INDUSTRIAL 4.0

Cluster Hadoop na Yahoo

UNIVERSIDADE FEDERAL DO PARANÁ 8FONTE: HTTPS://WIKI.APACHE.ORG/HADOOP/POWEREDBY#Y

PÓS ENGENHARIA INDUSTRIAL 4.0

Visão geral do MapReduce

UNIVERSIDADE FEDERAL DO PARANÁ 9

- Recebe entrada de dados (geralmente grande) - Map: extrai “algo” linha por linha - Embaralha e ordena - Reduce: agrega, sumariza, filtra - Escreve o resultado

PÓS ENGENHARIA INDUSTRIAL 4.0

MapReduce (Job)

UNIVERSIDADE FEDERAL DO PARANÁ 10

INPUT

map()

reduce()

reduce()

reduce()

reduce()

OUTPUT

map()

map()

map()

map()

map()

Tasks de reduceTasks de map

PÓS ENGENHARIA INDUSTRIAL 4.0

MapReduce: Conta palavras completo

UNIVERSIDADE FEDERAL DO PARANÁ 11

peixe,2 baleia,5

tartaruga,5 polvo,7

peixe baleia tartaruga baleia baleia baleia tartaruga peixe polvo polvo tartaruga polvo polvo polvo polvo polvo tartaruga tartaruga

INPUT MAP REDUCE RESULTADOSPLIT SHUFFLE

peixe baleia tartaruga

baleia baleia baleia

tartaruga peixe polvo

polvo tartaruga polvo

polvo polvo polvo polvo

tartaruga tartaruga

peixe, 1 baleia, 1

tartaruga, 1

baleia, 3

tartaruga, 1 peixe, 1 polvo, 1

tartaruga, 1 polvo, 2

polvo, 4

tartaruga, 2

peixe, 1 peixe, 1

baleia, 1 baleia, 3

tartaruga, 1 tartaruga, 1 tartaruga, 1 tartaruga, 2

polvo,1 polvo,2 polvo,4

peixe,2

baleia, 4

tartaruga, 5

polvo,7

PÓS ENGENHARIA INDUSTRIAL 4.0

MapReduce: Conta palavras completo

UNIVERSIDADE FEDERAL DO PARANÁ 12

MAPpeixe, 1 baleia, 1

tartaruga, 1

baleia, 3

tartaruga, 1 peixe, 1 polvo, 1

tartaruga, 1 polvo, 2

polvo, 4

tartaruga, 2

PÓS ENGENHARIA INDUSTRIAL 4.0

MapReduce: Conta palavras completo

UNIVERSIDADE FEDERAL DO PARANÁ 13

peixe,2 baleia,5

tartaruga,5 polvo,7

REDUCE RESULTADO

peixe,2

baleia, 4

tartaruga, 5

polvo,7

PÓS ENGENHARIA INDUSTRIAL 4.0

MapReduce: mecanismo de execução

UNIVERSIDADE FEDERAL DO PARANÁ 14

switch

NameNode

DataNode + TT

DataNode + TT

DataNode + TT

switch

JobTracker

DataNode + TT

DataNode + TT

DataNode + TT

RACK

1

RACK

2

JobTracker

DataNode + TT

DataNode + TT

DataNode + TT

RACK

N

switch

USUÁRIOS

PÓS ENGENHARIA INDUSTRIAL 4.0

… funciona mesmo com falhas!!

UNIVERSIDADE FEDERAL DO PARANÁ 15

switch

NameNode

DataNode + TT

DataNode + TT

DataNode + TT

switch

JobTracker

DataNode + TT

DataNode + TT

RACK

1

RACK

2

JobTracker

DataNode + TT

DataNode + TT

DataNode + TT

RACK

N

switch

USUÁRIOS

DataNode + TT

PÓS ENGENHARIA INDUSTRIAL 4.0

MapReduce: mecanismo de execução

UNIVERSIDADE FEDERAL DO PARANÁ 16

DataNode + TT

Task

Local File System

FONTE: EXPRESSMAGAZINE.NET

DataNode + TT

Task

Local File System

DataNode + TT

Task

Local File System

HDFS

PÓS ENGENHARIA INDUSTRIAL 4.0

MapReduce: mecanismo de execução

UNIVERSIDADE FEDERAL DO PARANÁ 17

DataNode + TT

Task

Local File System

FONTE: EXPRESSMAGAZINE.NET

DataNode + TT

Task

Local File System

B3 A5

B7

DataNode + TT

Task

Local File System

BLOCO HDFS

peixe, 1 baleia, 1

tartaruga, 1

PÓS ENGENHARIA INDUSTRIAL 4.0

MapReduce: mecanismo de execução

UNIVERSIDADE FEDERAL DO PARANÁ 18

Task

Local File System

FONTE: EXPRESSMAGAZINE.NET

DataNode + TT

Task

Local File System

DataNode + TT

Task

Local File System

DataNode + TT

PÓS ENGENHARIA INDUSTRIAL 4.0

MapReduce: mecanismo de execução

UNIVERSIDADE FEDERAL DO PARANÁ 19

Task

Local File System

FONTE: EXPRESSMAGAZINE.NET

DataNode + TT

Task

Local File System

DataNode + TT

Task

Local File System

DataNode + TT

peixe, 1 baleia, 1

tartaruga, 1

REPLICA

PÓS ENGENHARIA INDUSTRIAL 4.0

MapReduce: mecanismo de execução

UNIVERSIDADE FEDERAL DO PARANÁ 20

Task

Local File System

FONTE: EXPRESSMAGAZINE.NET

DataNode + TT

Task

Local File System

DataNode + TT

Task

Local File System

DataNode + TT

peixe, 1 baleia, 1

tartaruga, 1

REPLICA

Qual linguagem programar em MR?

UNIVERSIDADE FEDERAL DO PARANÁ 21

SELECT T2.UF, AVG(T1.IDADE)

FROM T1 JOIN T2 ON (T1.ID = T2.ID) GROUP BY T2.UF;

VS.

SQL-LIKEJAVA-LIKE

SQL-on-Hadoop

UNIVERSIDADE FEDERAL DO PARANÁ 22

SELECT T2.UF, AVG(T1.IDADE)

FROM T1 JOIN T2 ON (T1.ID = T2.ID) GROUP BY T2.UF;

peixe,2 peixe baleia

tartaruga b a l e i a b a l e i a

INPUT MAP REDUCE RESULTADOSPLIT SHUFFLEpeixe

baleia

tartaruga

polvo

polvo

tartaruga

peixe

baleiatartar

tartar

polvotartar

peixe

baleia

tartaruga,

polvo

peixe

baleia

tartar

polvo

SQL-on-Hadoop

UNIVERSIDADE FEDERAL DO PARANÁ 23

SELECT T2.UF, AVG(T1.IDADE)

FROM T1 JOIN T2 ON (T1.ID = T2.ID) GROUP BY T2.UF;

M

R

= MAP

= REDUCE

PÓS ENGENHARIA INDUSTRIAL 4.0

SQL-on-Hadoop

UNIVERSIDADE FEDERAL DO PARANÁ 24

SELECT T2.UF, AVG(T1.IDADE)

FROM T1 JOIN T2 ON (T1.ID = T2.ID) GROUP BY T2.UF;

M

R

= MAP

= REDUCE

SELECT T1.IDADE

M

R

M

R

M

HDFS

M

R

M

R

M

HDFS

SELECT T2.ID

JOIN T1, T2 GROUP BY UF

M

R

M

HDFS

PÓS ENGENHARIA INDUSTRIAL 4.0

SQL-on-Hadoop

UNIVERSIDADE FEDERAL DO PARANÁ 25

SELECT T2.UF, AVG(T1.IDADE)

FROM T1 JOIN T2 ON (T1.ID = T2.ID) GROUP BY T2.UF;

M

R

= MAP

= REDUCE

SELECT T1.IDADE

M

R

M

R

M

HDFS

M

R

M

R

M

HDFS

SELECT T2.ID

JOIN T1, T2 GROUP BY UF

M

R

M

HDFS

INTENSO I/O NA HDFS

PÓS ENGENHARIA INDUSTRIAL 4.0

SQL-on-Hadoop

UNIVERSIDADE FEDERAL DO PARANÁ 26

SELECT T2.UF, AVG(T1.IDADE)

FROM T1 JOIN T2 ON (T1.ID = T2.ID) GROUP BY T2.UF;

M

R

= MAP

= REDUCE

SELECT T1.IDADE

M

R

M

R

MM

R

M

R

M

SELECT T2.ID

JOIN T1, T2 GROUP BY UF

R

PÓS ENGENHARIA INDUSTRIAL 4.0

Várias linguagens são também ofertadas:

UNIVERSIDADE FEDERAL DO PARANÁ 27

- Python - Scala - Java - C - PIG Latin - …

Aula #10 - Processamento distribuído de dadosEDUARDO CUNHA DE ALMEIDA

INDU

STRI

A 4.

0Pr

oces

sam

ento

de

Bi

g Da

ta FONT

E: DE

LIRIUM

CAFE