O documento resume uma apresentação sobre treinamento Hadoop. Ele discute MapReduce e como foi introduzido pelo Google para processar grandes volumes de dados em paralelo. Também explica o conceito de sistema de arquivos distribuídos do Google (GFS) e como MapReduce e GFS juntos permitem processamento escalável, econômico e confiável de dados.
2. Alexandre Uehara
● Analista Desenvolvedor (E-commerce)
● Coordenador Trilha Big Data (TDC
2013)
http://www.thedevelopersconference.com.
br/tdc/2013/saopaulo/trilha-bigdata#programacao
● Geek e nerd, trabalha com Python,
Java, C, BigData, NoSQL, e outras
coisas mais que aparecem no dia a dia
5. Dia 1:
Introdução
Conceitos Básicos
Big Data
→ O que é?
→ 4 V's
→ Por que
agora?
→ Onde Usar?
→ Desafio
→ BI x Big Data
→Profissional de
Big Data
→ Ferramentas
→ Dicas
6. Dia 2 e 3:
Map Reduce e
Hadoop
→ História
(Google)
→ Conceito
MapReduce
→ Hadoop
→ Cases
23. "MapReduce é um modelo de
programação desenhado para processar
grandes volumes de dados em paralelo,
dividindo o trabalho em um conjunto
de tarefas independentes."
http://en.wikipedia.org/wiki/MapReduce
29. Map Reduce
● Não inventou, apenas implementou
● Mas, "definiu" / "padronizou"
algorítimo e arquitetura
30. Map Reduce
● paradigma de programação
para processar e analisar
grandes conjuntos de dados
31. Map Reduce
● Processamento tolerante a falha e
fácil abstração
● Facilidade de escalar
● Decompõe tudo em Pares - chave :
valor
● Depois sumariza os resultados
37. Map Reduce
"Programação funcional é um paradigma de programação que trata a
computação como uma avaliação de funções matemáticas e que evita
estados ou dados mutáveis. Ela enfatiza a aplicação de funções, em
contraste da programação imperativa, que enfatiza mudanças no
estado do programa"
Wikipedia - http://pt.wikipedia.org/wiki/Programa%C3%A7%C3%A3o_funcional
Exemplos de linguagem:
● Lisp
● Haskell
● Scala
38. Map Reduce
Se encarrega de toda
complexidade de
processamento
paralelo, e o
programador cuida
apenas da lógica
39. Map Reduce
● Você especifica
função map()
● Você especifica
função reduce()
● O framework cuida
do restante
51. Google Filesystem (GFS)
● Sistema de arquivos distribuídos
otimizados para atuar em dados não
estruturados
● Necessário pois os arquivos pode
começar a tornar grandes demais para
serem armazenados em apenas uma
máquina
53. Google Filesystem (GFS)
● Tolerancia a falhas (se falhar um nó,
automaticamente replica para outro)
● Suporte a falha parcial
● Suporte a recuperação de
dados
● Suporte a recuperação
individual de nós
54. Google Filesystem (GFS)
● Consistência
● Escalável (pode aumentar / diminuir
sem afetar a aplicação)
● Milhares de nós
● Processamento paralelo
● Nós independentes