Your SlideShare is downloading. ×
0
•
•
•
•
•
•
•

Mestre em Tecnologia (UTFPR)
Bacharel em Processamento de Dados
Desenvolvedor a mais de 18 anos....
Mono Ha...
• O conceito de computação em nuvem refere-se à
utilização da memória, processamento e das
capacidades de armazenamento e ...
•
•
•
•
•

Alta disponibilidade
Recuperação de Falhas
Backup é inerente ao sistema
Segurança dos dados
Escalonamento sob d...
• DaaS - Development as a Service ou Desenvolvimento
como Serviço :
– as ferramentas de desenvolvimento tomam forma no clo...
Cloud Computing é dividida em cinco tipos:
• IaaS - Infrastructure as a Service ou Infraestrutura como Serviço:
– quando s...
• Um plataforma como serviços
– Aplicações distribuídas com framework
consistente
– Armazenamento de Dados
• TABLE, BLOBs ...
Suas Aplicações

Service
Bus

Workflow

Database

Analytics

Identity

Contacts

Access
Control

…

Reporting

…

Devices
...
• Blobs – prover uma interface simples para
armazenamento de arquivosnomeados
com metadados para o arquivo
• Tables –armaz...
Account

Container

Blob

Block

IMG001.JPG
Pictures
IMG002.JPG

Account

Block AAAA
Movies

MOV1.AVI

Block AAAB
Block AA...
Account

Queue

Message

128x128, http://…
Thumbnail Jobs
256x256, http://…
Account
http://…
Indexing Jobs
http://…
Account

Table

Entity

Name=…hash=…

Users
Name=…hash=…
Account
Tag=…id=…
PhotoIndex
Tag=…,id=…
•
•
•
•

Grandes volumes de dados (Tera Bytes)
Processamento dos dados
Tolerância a falha
Distribuição do serviço
• Requisitos
–
–
–
–

500M+ usuário únicos por mês
Bilhões de eventos interessantes por dia
Necessidade de scalabilidade m...
• Histórico
–
–
–
–

Em 2004: Google publica um artigo sobre MapReduce
2005: Doug Cutting integra MapReduce no Hadoop
2006...
• O Apache Hadoop é um projeto desenvolvimento como
open-source software para escalavel , confiável e
processamento distri...
• Um sistema escalável e confiável para
armazenamento compartilhado e análises.
• Ele automaticamente trata da replicação ...
• Hadoop Core
– Distributed File System
– MapReduce Framework

• Pig (criado pelo Yahoo!)
– Parallel Programming Language ...
•
•
•
•
•

Buscapé / Ebehavior
Amazon/A9
Facebook
Google
IBM

•
•
•
•
•
•

Joost
Last.fm
New York Times
PowerSet
Veoh
Yaho...
• Colaboração com grandes universidades de
pesquisa(via open cirrus)
–
–
–
–

Carnegie Mellon University
The University of...
• Cluster em produção
–
–
–
–
–

4800 cores, 600 máquina, 16GB por máquina – Abril/2009
8000 cores, 1000 máquinas, 32 GB p...
Tipicamente em 2 níveis
– Nós são PCs comuns
– 30-40 nodes/rack
– Rack em Uplink de 3-4 gigabit
– Rack-interno de 1 gigabi...
• Inspirado em GFS
• Projetado para trabalhar com arquivos muito
grandes
• Executado em hardware commodity
• Streaming de ...
• Projetado para escalar a petabytes de armazenamento, e
correr em cima dos sistemas de arquivos do sistema
operacional su...
• Dados de entrada é
copiado para HDFS é
dividido em blocos
• Cada blocos de dados é
replicado para várias
máquinas
• Sistema de Arquivos Distribuído para grande
Volumes
– 10K nodes, 100 milhões de arquivos, 10 PB

• Hardware Comum (comod...
• MapReduce é um modelo de programação e
implementação associados para o
processamento e geração de grandes conjuntos
de d...
• Input:
– Registros de alguma fonte de dados (por exemplo,
linhas de arquivos, linhas de um banco de dados,
...) estão as...
map (k, v):
if (isPrime(v)) then emit (k, v)

(“foo”, 7) (“foo”, 7)
(“test, 10) (nothing)
Depois que a fase de mapeamento terminar, todos
os valores intermediários vão para uma chave de
saída, estes são combinada...
reduce (k, vals):
sum = 0
foreach int v in vals:
sum += v
emit (k, sum)
(“A”, [42, 100, 312]) (“A”, 454)
(“B”, [12, 6, -2]...
map (String key, String value):
// key: nome do documento
// value: conteudo do documento
for each word w in value:
EmitIn...
reduce(String key, Iterator values):
// key: a palavra
// values: a lista de valores
int result = 0;
for each v in values:...
• Os passos básicos para a execução de um
trabalho Hadoop são:
– Compile o seu trabalho em um arquivo JAR
– Copiar dados d...
hadoop jar /usr/lib/hadoop/hadoop-*-examples.jar pi 10 100
hadoop fs -mkdir input
hadoop fs -put /etc/hadoop-0.20/conf/*.x...
• Mahout - scalable machine learning
– Mahout é uma biblioteca de código aberto da
Apache de máquina de aprendizagem. Os
a...
•
•
•
•
•
•
•
•
•
•

Collaborative Filtering
User and Item based recommenders
K-Means, Fuzzy K-Means clustering
Mean Shift...
•
•
•
•

www.azuris.com.br
Alessandro de Oliveira Binhara
binhara@gmail.com
binhara@azuris.com.br
Tecnologias para mineração de dados nas nuvens
Tecnologias para mineração de dados nas nuvens
Tecnologias para mineração de dados nas nuvens
Tecnologias para mineração de dados nas nuvens
Tecnologias para mineração de dados nas nuvens
Tecnologias para mineração de dados nas nuvens
Tecnologias para mineração de dados nas nuvens
Tecnologias para mineração de dados nas nuvens
Tecnologias para mineração de dados nas nuvens
Tecnologias para mineração de dados nas nuvens
Tecnologias para mineração de dados nas nuvens
Tecnologias para mineração de dados nas nuvens
Tecnologias para mineração de dados nas nuvens
Upcoming SlideShare
Loading in...5
×

Tecnologias para mineração de dados nas nuvens

1,030

Published on

Apresentação de tecnologias para mineração de dados nas nuvens com windows azure e hadoop

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,030
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
14
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "Tecnologias para mineração de dados nas nuvens"

  1. 1. • • • • • • • Mestre em Tecnologia (UTFPR) Bacharel em Processamento de Dados Desenvolvedor a mais de 18 anos.... Mono Hacker desde 2003 Linguagens Fluente: C#, Java, PHP, Outras: C++, C , Pascal, Python, Ruby, Boo, etc. Atualmente atua como desenvolvedor/consultor para algumas empresas:
  2. 2. • O conceito de computação em nuvem refere-se à utilização da memória, processamento e das capacidades de armazenamento e cálculo de servidores compartilhados e interligados por meio da Internet, seguindo um modelo computacional (Grid Computing) capaz de alcançar uma alta taxa de processamento dividindo as tarefas entre diversas máquinas.
  3. 3. • • • • • Alta disponibilidade Recuperação de Falhas Backup é inerente ao sistema Segurança dos dados Escalonamento sob demanda
  4. 4. • DaaS - Development as a Service ou Desenvolvimento como Serviço : – as ferramentas de desenvolvimento tomam forma no cloud computing como ferramentas compartilhadas, ferramentas de desenvolvimento web-based e serviços baseados em mashup. • SaaS - Software as a Service ou Software como Serviço : – uso de um software em regime de utilização web (p.ex.: Google Docs , Microsoft Sharepoint Online). • CaaS - Communication as a Service ou Comunicação como Serviço : – uso de uma solução de Comunicação Unificada hospedada em Data Center do provedor ou fabricante.
  5. 5. Cloud Computing é dividida em cinco tipos: • IaaS - Infrastructure as a Service ou Infraestrutura como Serviço: – quando se utiliza uma porcentagem de um servidor, geralmente com configuração que se adeque à sua necessidade.(p. Ex: Hadoop) • PaaS - Plataform as a Service ou Plataforma como Serviço (em português): – utilizando-se apenas uma plataforma como um banco de dados, um web-service, etc. (p.ex.: Windows Azure).
  6. 6. • Um plataforma como serviços – Aplicações distribuídas com framework consistente – Armazenamento de Dados • TABLE, BLOBs e SQL Azure – Pagamento sob Demanda – Escalonamento sob Demanda – 7 Mega Datacenters já construídos
  7. 7. Suas Aplicações Service Bus Workflow Database Analytics Identity Contacts Access Control … Reporting … Devices … Compute Storage Manage … …
  8. 8. • Blobs – prover uma interface simples para armazenamento de arquivosnomeados com metadados para o arquivo • Tables –armazenamento estruturado. Uma tabela é um conjunto de entidades, que contêm um conjunto de propriedades • Queues – Fornecer armazenamento confiável e entrega de mensagens para uma aplicação
  9. 9. Account Container Blob Block IMG001.JPG Pictures IMG002.JPG Account Block AAAA Movies MOV1.AVI Block AAAB Block AAAC
  10. 10. Account Queue Message 128x128, http://… Thumbnail Jobs 256x256, http://… Account http://… Indexing Jobs http://…
  11. 11. Account Table Entity Name=…hash=… Users Name=…hash=… Account Tag=…id=… PhotoIndex Tag=…,id=…
  12. 12. • • • • Grandes volumes de dados (Tera Bytes) Processamento dos dados Tolerância a falha Distribuição do serviço
  13. 13. • Requisitos – – – – 500M+ usuário únicos por mês Bilhões de eventos interessantes por dia Necessidade de scalabilidade massiva PB’s de storage, milhares de arquivos, 1000’s de nós • Necessidade de ter baixo custo – Uso de hardware comum – Compartilhar recursos com vários projetos – Fornecer escala quando necessário • Precisa de infraestrutura confiável – Deve ser capaz de lidar com falhas - hardware, software, networking • A falha é esperada, e não uma exceção – Transparente para as aplicações • muito caro para construir confiabilidade em cada aplicação • A infra-estrutura do Hadoop prove essas capacidade.
  14. 14. • Histórico – – – – Em 2004: Google publica um artigo sobre MapReduce 2005: Doug Cutting integra MapReduce no Hadoop 2006: Doug Cutting contratado pelo Yahoo Yahoo! tornou-se o promeiro contribuidor em 2006 • Escalou de 20 node para 4000 node clusters em 2010 – 2008: Cloudera é Fundada (www.cloudera.com) • Características – Escrito em Java, OpenSource – Roda em hardware comum – Linux, Mac OS/X, Windows, and Solaris
  15. 15. • O Apache Hadoop é um projeto desenvolvimento como open-source software para escalavel , confiável e processamento distribuído. Inclui: – MapReduce e Sistema de arquivos distribuído framework para for large commodity clusters – Master/Slave – JobTracker organiza todas as tarefas e coordena o fluxo de dados entre os TaskTrackers – TaskTracker manipula todos os worker no node – Worker Task executa as operações de map ou reduce – Integra-se com HDFS com os dados localmente
  16. 16. • Um sistema escalável e confiável para armazenamento compartilhado e análises. • Ele automaticamente trata da replicação de dados e da falhas em cada nó. • Ele faz o trabalho duro - desenvolvedor pode se concentrar em processamento da lógica de dados • Permite que os aplicativos usem petabytes de dados em paralelo
  17. 17. • Hadoop Core – Distributed File System – MapReduce Framework • Pig (criado pelo Yahoo!) – Parallel Programming Language e Runtime • Hbase (criado pelo Powerset) – Table storage for semi-structured data • Zookeaper (criado pelo Yahoo!) – Coordinating distributed systems • Hive (criado pelo Facebook) – SQL-like query language and metastore
  18. 18. • • • • • Buscapé / Ebehavior Amazon/A9 Facebook Google IBM • • • • • • Joost Last.fm New York Times PowerSet Veoh Yahoo!
  19. 19. • Colaboração com grandes universidades de pesquisa(via open cirrus) – – – – Carnegie Mellon University The University of California at Berkeley Cornell University The University of Massachusetts at Amherst joined • Seed Facility: Datacenter na caixa (DiB) – 500 nodes, 4000 cores, 3TB RAM, 1.5PB disk – Conexão de alta velocidade com a internet – Localizado no Yahoo no campu Coorporativo • Roda Hadoop • Tem sido usado no últimos 2 anos
  20. 20. • Cluster em produção – – – – – 4800 cores, 600 máquina, 16GB por máquina – Abril/2009 8000 cores, 1000 máquinas, 32 GB por máquina – julho/2009 4 SATA discos de 1 TB por máquina 2 níveis de rede hierarquica, 40 máquinas por rack Total do tamanho do cluster 2 PB, projetado para 12 PB no Q3 2009 • Cluster de Teste • 800 cores, 16GB cada
  21. 21. Tipicamente em 2 níveis – Nós são PCs comuns – 30-40 nodes/rack – Rack em Uplink de 3-4 gigabit – Rack-interno de 1 gigabit
  22. 22. • Inspirado em GFS • Projetado para trabalhar com arquivos muito grandes • Executado em hardware commodity • Streaming de acesso a dados • Replicação e localidade
  23. 23. • Projetado para escalar a petabytes de armazenamento, e correr em cima dos sistemas de arquivos do sistema operacional subjacente. • “NameNode” - Master – Gerencia o sistema de arquivos namespace Conhece todos os blocos de localização – lida com a replicação, exclusão, criação • “DataNode” - Slave (workers) – Manter os blocos de dados – Relatório de volta para namenode suas listas de blocos periodicamente – lida com a recuperação de dados
  24. 24. • Dados de entrada é copiado para HDFS é dividido em blocos • Cada blocos de dados é replicado para várias máquinas
  25. 25. • Sistema de Arquivos Distribuído para grande Volumes – 10K nodes, 100 milhões de arquivos, 10 PB • Hardware Comum (comodite) – Os arquivos são replicados esperando falha de hardware – Detecção de falhas e recuperação • Otimizado para Batch Processing – Os dados ficam expostos, a computação pode ser movida onde os dados estiverem • Roda em diversos OS (win, linux, mac)
  26. 26. • MapReduce é um modelo de programação e implementação associados para o processamento e geração de grandes conjuntos de dados (Jeffrey Dean e Sanjay Ghemawat, 2004) – A ideia tem mais de 40 anos – Baseado em um modelo de programação funcional (como Lisp, Ml, etc) – Processamento de dados base em batch – A abstração limpa para programadores – Paralelização automática e distribuição – Tolerância a falhas
  27. 27. • Input: – Registros de alguma fonte de dados (por exemplo, linhas de arquivos, linhas de um banco de dados, ...) estão associados no par (chave, valor) • Output: – Um ou mais valores intermediários no formato (chave, valor) • Exemplo: (palavra, numero_de_ocorrencias)
  28. 28. map (k, v): if (isPrime(v)) then emit (k, v) (“foo”, 7) (“foo”, 7) (“test, 10) (nothing)
  29. 29. Depois que a fase de mapeamento terminar, todos os valores intermediários vão para uma chave de saída, estes são combinadas em uma lista • Input – Valores Intermediários : – Example: (“A”, [42, 100, 312]) • Output – Normalmente, apenas um valor final por chave – Exemplo (“a”, 454)
  30. 30. reduce (k, vals): sum = 0 foreach int v in vals: sum += v emit (k, sum) (“A”, [42, 100, 312]) (“A”, 454) (“B”, [12, 6, -2]) (“B”, 16)
  31. 31. map (String key, String value): // key: nome do documento // value: conteudo do documento for each word w in value: EmitIntermediate(w, "1");
  32. 32. reduce(String key, Iterator values): // key: a palavra // values: a lista de valores int result = 0; for each v in values: result += ParseInt(v); Emit(AsString(result));
  33. 33. • Os passos básicos para a execução de um trabalho Hadoop são: – Compile o seu trabalho em um arquivo JAR – Copiar dados de entrada no HDFS – Execute hadoop passando para o JAR os parametros relevantes – Monitorar tarefas via interface Web (opcional) – Examinar a saída quando o trabalho estiver completo
  34. 34. hadoop jar /usr/lib/hadoop/hadoop-*-examples.jar pi 10 100 hadoop fs -mkdir input hadoop fs -put /etc/hadoop-0.20/conf/*.xml input hadoop-0.20 fs -ls input hadoop-0.20 jar /usr/lib/hadoop-0.20/hadoop-*-examples.jar grep input output 'dfs[a-z.]+' hadoop-0.20 fs -mkdir inputwords hadoop-0.20 fs -put /etc/hadoop-0.20/conf/*.xml inputwords hadoop-0.20 fs -ls inputwords hadoop-0.20 jar /usr/lib/hadoop-0.20/hadoop-*-examples.jar grep inputwords outputwords 'dfs[a-z.]+'
  35. 35. • Mahout - scalable machine learning – Mahout é uma biblioteca de código aberto da Apache de máquina de aprendizagem. Os algoritmos que implementa caiem sob o guardachuva amplo de "aprendizagem de máquina", ou "inteligência coletiva“. – Motores de filtragem Colaborativa – Motor de recomendação – Clustering e classificação.
  36. 36. • • • • • • • • • • Collaborative Filtering User and Item based recommenders K-Means, Fuzzy K-Means clustering Mean Shift clustering Dirichlet process clustering Latent Dirichlet Allocation Singular value decomposition Parallel Frequent Pattern mining Complementary Naive Bayes classifier Random forest decision tree based classifier
  37. 37. • • • • www.azuris.com.br Alessandro de Oliveira Binhara binhara@gmail.com binhara@azuris.com.br
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×