Map reduce novas abordagens para o processo de datamining em grandes volumnes de dados

860 views
761 views

Published on

Apresentação feita no laboratório de

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
860
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
22
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Map reduce novas abordagens para o processo de datamining em grandes volumnes de dados

  1. 1. MapReduce Novas abordagens para o processo deDataMining em grandes volumes de dados J. Gabriel Lima jgabriel.ufpa@gmail.com LINC - Laboratório de Inteligência Computacional
  2. 2. 2 • Introdução • Conceitos Gerais • Exemplos • Trabalhos Correlatos em DataMining Agenda
  3. 3. l Nos últimos cinco anos, os pesquisadores e desenvolvedores do Google tem implementado centenas de propostas de técnicas e cálculos que processam grandes quantidades de dados brutos e para computar vários tipos de dados derivados, tais como: l Índices invertidos l Representações diversas da estrutura de gráfico de documentos l Resumos do número de páginas rastreadas por host l Estatística das consultas mais frequentes em um determinado dia. Introdução
  4. 4. l Os cálculos são conceitualmente simples...l O problema é que os dados de entrada são muito grandes... l Solução: Distribuir esses cálculos através de centenas ou milhares de máquinas l Garantir o término em um tempo razoável Introdução
  5. 5. “ Como reação a essa complexidade, foi elaborado uma novaabstração que nos permite expressar os cálculos simples queestávamos tentando realizar, mas esconde os detalhes confusos deparalelização, tolerância a falhas de distribuição de dados e balanceamento de carga” Introdução
  6. 6. l A nova abstração é inspirado no Map e Reduce primitivos presentes em Lisp e muitas outras linguagens funcionais.l Percebemos que a maioria dos nossos cálculos envolvidos aplicação de uma operação de Map para cada "registro" lógico em nossa entrada, a fim de calcular um conjunto de pares intermediários de chave/valor e, em seguida , a aplicação de uma operação de Reduce a todos os valores que partilhavam a mesma chave, a fim de combinar os dados derivados apropriadamente Conceitos Gerais
  7. 7. As maior contribuição dessa nova abordagem é a implantação deuma simples e poderosa interface que permite a paralelizaçãoautomática e distribuição da computação em grande escala,combinado com uma implementação desta interface que atinge altaperformance em grandes aglomerados de máquinas Conceitos Gerais
  8. 8. O cálculo toma um conjunto de pares de entradas de chave/valor, eproduz um conjunto de pares de saídas chave/valor. O usuário que implementa o MapReduce expressa o cálculo comoduas funções: Map e Raduce. Modelo de Programação
  9. 9. Map, escrito pelo usuário, leva um par de entrada e produz umconjunto de pares intermediários de chave/valor.Neste processo há uma junção de todos os valores intermediáriosassociados com uma mesma chave intermediária, afim de passá-lospara a função Reduce. MAP
  10. 10. A função Reduce, também escrito pelo usuário, aceital uma chave intermediária e um conjunto de valores para essa chave.l Ela faz uma fusão desses valores em conjunto, para formar um menor conjunto de valores possível.ll Tipicamente apenas zero ou um valor de saída é produzido por um método Reduce.l Os valores intermédios são fornecidos para a função através de uma iteração. Isto permite-nos lidar com listas de valores que são demasiadamente grandes para caber na memória. Reduce
  11. 11. MapReduce
  12. 12. MapReduce
  13. 13. MapReduce
  14. 14. MapReduce
  15. 15. Programa que processa e conta o número de ocorrências de cadapalavra em um texto: Nº Linhas: 3800 Nº palavras: 4411Tempo: ~ 0.00909018516541 microssegundos Exemplo Prático
  16. 16. O modelo de programação MapReduce tem sido utilizado comsucesso no Google para diversas finalidades. Atribui-se o sucesso avárias razões:l o modelo é fácil de usar, mesmo para programadores sem experiência com os sistemas paralelos e distribuídos, já que esconde a detalhes da paralelização, tolerância a falhas, otimização de localidade, e balanceamento de carga.l Uma grande variedade de problemas são facilmente transcritos para o uso do MapReduce.l É usado para a geração de dados para o serviço de busca do Google, para classificação, para mineração de dados, para aprendizado de máquina e muitos outros sistemas.
  17. 17. Trabalhos Correlatos - 2011 61 Artigos
  18. 18. Map-Reduce for Machine Learning on Multicore (Cheng-Tao Chu)Mostram que os algoritmos que se encaixam no modelo de consultaestatística podem ser escritos em uma "forma de somatório,"permitindo o uso do MapReduce para paralelizar o processamento emcomputadores multicore. Algoritmos. - Locally Weighted Linear Regression (LWLR) - Naive Bayes (NB) - Gaussian Discriminative Analysis (GDA) - k-means - Logistic Regression (LR) - Neural Network (NN) - Principal Components Analysis (PCA) - Independent Component Analysis (ICA) - Expectation Maximization (EM) - Support Vector Machine (SVM) .
  19. 19. BBM: Bayesian Browsing Model from Petabyte-scale Data(Chao Liu - Microsoft Research)“Dado um base de dados de petabytes de logs de clique, como podemosestimar a relevância de cada URL para uma determinada consulta?”Neste trabalho é proposto o Modelo de Navegação Bayesiana (BBM), umanova técnica de modelagem com vantagens seguintes: . (a) Faz inferência exata; (b) É single-pass e paralelizável; (c) É eficaz.São apresentados dois conjuntos de experiências No primeiro conjunto de mais de 50 milhões casos de busca de 1,1 milhõesde consultas distintas, BBM supera o concorrente ser 57 vezes mais rápido. Na segunda, é apresentado a escalabilidade da BBM usando o MapReduce
  20. 20. Hive - A Warehousing Solution Over a Map-Reduce Framework -Facebook Data Infrastructure Team Apresenta-se o Hive, uma solução open-source de armazenamento de dados construída em cima do Hadoop. Hive suporta consultas expressas em uma linguagem SQL-like declarativa - HiveQL e que são compilados em Map-Reduce executados no Hadoop. Além disso, suporta HiveQL Map-Reduce personalizados para a criação de.scripts de consultas.As bibliotecas subjacentes IO pode ser estendido para consultar dados emformatos personalizados.Ramificação também inclui um sistema catálogo, Hive-Metastore, esquemascontendo e estatísticas, o que é útil na exploração de dados e otimização deconsulta.No Facebook, o armazém Hive contém vários milhares tabelas com mais de 7 terabytes dedados e está sendo amplamente utilizado para relatórios e análises de dados.
  21. 21. Scaling Simple and Compact Genetic Algorithmsusing MapReduceNeste artigo, mostramos como os algoritmos genéticos podem ser modeladosno modelo MapReduce.Descrevemos o projeto de algoritmo e implementação de umAG simples em Hadoop..Nossos experimentos demonstram a convergência e escalabilidadeem 105 de 108 problemas.Adicionando mais recursos nos permitiria resolver os problemas ainda maiores, sem quaisquer alterações no algoritmo ou na implementação, uma vez quenão introduzem qualquer gargalos de performance.
  22. 22. COMET: A Recipe for Learning and Using Large Ensembles on Massive DatCOMET é um algoritmo de single-pass para MapReduce em larga escala de dadoBaseia-se em um conjunto aleatório de blocos de dados distribuídos e funde-os emum conjunto de mega-dados.Esta abordagem é adequada quando a escala de dados que é grande demais paracaber em uma única máquina.Experimentos com dois grandes conjuntos de dados (5 GB e 50GB compactados) .mostramque o cometa se comporta favoravelmente (em precisão e tempo) .
  23. 23. HadoopDB: An Architectural Hybrid of MapReduce andDBMS Technologies for Analytical Workloads (Brown University)Neste artigo, os autores exploraram a viabilidade de construção de um sistema híbridoque tem as melhores características de ambas as tecnologias, o protótipo que construímose aproxima bancos de dados paralelos em desempenho eeficiência, mas ainda produz aescalabilidade, tolerância a falhas, e flexibilidade de sistemasbaseados em MapReduce. .
  24. 24. Outros Trabalhos: -A Map Reduce Framework for Programming Graphics Processors - Application of Hadoop MapReduce Technique to Virtual Database System Design - Application Performance Management for NoSQL - BlobSeer- Bringing High Throughput under Heavy Concurrency to Hadoop Map-Reduce Applications - Building a High-Level Dataflow System on top of Map-Reduce: The Pig Experience - Can MPI Benefit Hadoop and MapReduce Applications - CloudBurst: highly sensitive read mapping with MapReduce - Colorful Triangle Counting and a MapReduce Implementation - Computação intensiva em dados com MapReduce em ambientes oportunistas . - Data-Intensive Text Processing with MapReduce - Evaluating SPLASH-2 Applications Using MapReduce - Evaluating the suitability of MapReduce for surface temperature analysis codes - HADI: Mining Radii of Large Graphs - Large-Scale Community Detection on YouTube for Topic Discovery and Exploration - Learning Based Opportunistic Admission Control Algorithm for MapReduce as a Service - Learning Influence Probabilities In Social Networks - LogMaster: Mining Event Correlations in Logs of Large-scale Cluster Systems - Map-reduce as a Programming Model for Custom Computing Machines - MapReduce for Data Intensive Scientific Analyses - Map-Reduce-Merge: Simplified Relational Data Processing on Large Clusters - MapReduce Programming with Apache Hadoop IPDPS 2010 Symposium Tutorial - Scalable Distributed Reasoning using MapReduce
  25. 25. Considerações Finais - Considerando que: - Yahoo! Processa 100 bilhões de eventos somando 120 terabytes por dia - Facebook processa 80 terabytes por dia … a técnica deve funcionarTrabalhos Futuros Aplicar as técnicas descritas desde a primeira apresentação em bases de dadosreais - Segurança Pública - CDI - Vijay

×