SlideShare une entreprise Scribd logo
1  sur  27
Télécharger pour lire hors ligne
MapReduce
  Novas abordagens para o processo de
DataMining em grandes volumes de dados
                     J. Gabriel Lima
                jgabriel.ufpa@gmail.com

      LINC - Laboratório de Inteligência Computacional
2




    • Introdução
    • Conceitos Gerais
    • Exemplos
    • Trabalhos Correlatos em DataMining




    Agenda
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
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
“ Como reação a essa complexidade, foi elaborado uma nova
abstração que nos permite expressar os cálculos simples que
estávamos tentando realizar, mas esconde os detalhes confusos de
paralelização, tolerância a falhas de distribuição de dados
                      e balanceamento de carga”




  Introdução
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
As maior contribuição dessa nova abordagem é a implantação de
uma simples e poderosa interface que permite a paralelização
automática e distribuição da computação em grande escala,
combinado com uma implementação desta interface que atinge alta
performance em grandes aglomerados de máquinas




  Conceitos Gerais
O cálculo toma um conjunto de pares de entradas de chave/valor, e
produz um conjunto de pares de saídas chave/valor.
 O usuário que implementa o MapReduce expressa o cálculo como
duas funções: Map e Raduce.




  Modelo de Programação
Map, escrito pelo usuário, leva um par de entrada e produz um
conjunto de pares intermediários de chave/valor.
Neste processo há uma junção de todos os valores intermediários
associados com uma mesma chave intermediária, afim de passá-los
para a função Reduce.




  MAP
A função Reduce, também escrito pelo usuário, aceita
l
  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.
l

l
    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
MapReduce
MapReduce
MapReduce
MapReduce
Programa que processa e conta o número de ocorrências de cada
palavra em um texto:
    Nº Linhas: 3800
    Nº palavras: 4411

Tempo: ~ 0.00909018516541 microssegundos




  Exemplo Prático
O modelo de programação MapReduce tem sido utilizado com
sucesso no Google para diversas finalidades. Atribui-se o sucesso a
vá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.
Trabalhos Correlatos - 2011
        61 Artigos
Map-Reduce for Machine Learning on Multicore (Cheng-Tao Chu)

Mostram que os algoritmos que se encaixam no modelo de consulta
estatística podem ser escritos em uma "forma de somatório,"
permitindo o uso do MapReduce para paralelizar o processamento em
computadores 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)
 .
BBM: Bayesian Browsing Model from Petabyte-scale Data
(Chao Liu - Microsoft Research)

“Dado um base de dados de petabytes de logs de clique, como podemos
estimar a relevância de cada URL para uma determinada consulta?”

Neste trabalho é proposto o Modelo de Navegação Bayesiana (BBM), uma
nova 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ões
de consultas distintas, BBM supera o concorrente ser 57 vezes mais rápido.
    Na segunda, é apresentado a escalabilidade da BBM usando o MapReduce
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 em
formatos personalizados.
Ramificação também inclui um sistema catálogo, Hive-Metastore, esquemas
contendo e estatísticas, o que é útil na exploração de dados e otimização de
consulta.
No Facebook, o armazém Hive contém vários milhares tabelas com mais de 7
 terabytes de
dados e está sendo amplamente utilizado para relatórios e análises de dados.
Scaling Simple and Compact Genetic Algorithms
using MapReduce

Neste artigo, mostramos como os algoritmos genéticos podem ser modelados
no modelo MapReduce.

Descrevemos o projeto de algoritmo e implementação de um
AG simples em Hadoop.
.
Nossos experimentos demonstram a convergência e escalabilidade
em 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 que
não introduzem qualquer gargalos de performance.
COMET: A Recipe for Learning and Using Large Ensembles on Massive Dat

COMET é um algoritmo de single-pass para MapReduce em larga escala de dado
Baseia-se em um conjunto aleatório de blocos de dados distribuídos e funde-os em
um conjunto de mega-dados.
Esta abordagem é adequada quando a escala de dados que é grande demais para
caber em uma única máquina.
Experimentos com dois grandes conjuntos de dados (5 GB e 50GB compactados)
   .
mostram
que o cometa se comporta favoravelmente (em precisão e tempo) .
HadoopDB: An Architectural Hybrid of MapReduce and
DBMS Technologies for Analytical Workloads (Brown University)

Neste artigo, os autores exploraram a viabilidade de construção de um sistema híbrido
que tem as melhores características de ambas as tecnologias, o protótipo que construímo
se aproxima bancos de dados paralelos em desempenho eeficiência, mas ainda produz a
escalabilidade, tolerância a falhas, e flexibilidade de sistemas
baseados em MapReduce.
  .
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
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 funcionar


Trabalhos Futuros

    Aplicar as técnicas descritas desde a primeira apresentação em bases de dados
'reais'
    - Segurança Pública
    - CDI
    - Vijay
Map reduce   novas abordagens para o processo de datamining em grandes volumnes de dados
Map reduce   novas abordagens para o processo de datamining em grandes volumnes de dados

Contenu connexe

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

Scaling bayesian network parameter learning with Hadoop
Scaling bayesian network parameter learning with HadoopScaling bayesian network parameter learning with Hadoop
Scaling bayesian network parameter learning with HadoopJoão Gabriel Lima
 
Aplicação da Técnica Mapreduce na Modelagem de Algoritmos Genéticos para o “P...
Aplicação da Técnica Mapreduce na Modelagem de Algoritmos Genéticos para o “P...Aplicação da Técnica Mapreduce na Modelagem de Algoritmos Genéticos para o “P...
Aplicação da Técnica Mapreduce na Modelagem de Algoritmos Genéticos para o “P...wesleylouzeiro
 
Apresentação em Aplicações Distribuídas – Hadoop MapReduce
Apresentação em Aplicações Distribuídas – Hadoop MapReduceApresentação em Aplicações Distribuídas – Hadoop MapReduce
Apresentação em Aplicações Distribuídas – Hadoop MapReduceMatteus Barbosa
 
[DTC21] Lucas Gomes - Do 0 ao 100 no Big Data
[DTC21] Lucas Gomes - Do 0 ao 100 no Big Data[DTC21] Lucas Gomes - Do 0 ao 100 no Big Data
[DTC21] Lucas Gomes - Do 0 ao 100 no Big DataDeep Tech Brasil
 
Bigdata na pratica: Resolvendo problemas de performance com hadoop
Bigdata na pratica: Resolvendo problemas de performance com hadoopBigdata na pratica: Resolvendo problemas de performance com hadoop
Bigdata na pratica: Resolvendo problemas de performance com hadooptdc-globalcode
 
Cientista de Dados – Dominando o Big Data com Software Livre
Cientista de Dados – Dominando o Big Data com Software Livre Cientista de Dados – Dominando o Big Data com Software Livre
Cientista de Dados – Dominando o Big Data com Software Livre Ambiente Livre
 
Arquitetura para solução Big Data – open source
Arquitetura para solução Big Data – open sourceArquitetura para solução Big Data – open source
Arquitetura para solução Big Data – open sourceFelipe RENZ - MBA TI / Big
 
Big data e mineração de dados
Big data e mineração de dadosBig data e mineração de dados
Big data e mineração de dadosElton Meira
 
Big Data - O que é o hadoop, map reduce, hdfs e hive
Big Data - O que é o hadoop, map reduce, hdfs e hiveBig Data - O que é o hadoop, map reduce, hdfs e hive
Big Data - O que é o hadoop, map reduce, hdfs e hiveFlavio Fonte, PMP, ITIL
 
Computação paralela 2 cluster e grid
Computação paralela 2 cluster e grid Computação paralela 2 cluster e grid
Computação paralela 2 cluster e grid Fernando Gomes Chaves
 
Modelos de computação distribuída no Hadoop
Modelos de computação distribuída no HadoopModelos de computação distribuída no Hadoop
Modelos de computação distribuída no HadoopBig Data Week São Paulo
 

Similaire à Map reduce novas abordagens para o processo de datamining em grandes volumnes de dados (20)

BigData MapReduce
BigData MapReduceBigData MapReduce
BigData MapReduce
 
MapReduce
MapReduceMapReduce
MapReduce
 
Scaling bayesian network parameter learning with Hadoop
Scaling bayesian network parameter learning with HadoopScaling bayesian network parameter learning with Hadoop
Scaling bayesian network parameter learning with Hadoop
 
Aplicação da Técnica Mapreduce na Modelagem de Algoritmos Genéticos para o “P...
Aplicação da Técnica Mapreduce na Modelagem de Algoritmos Genéticos para o “P...Aplicação da Técnica Mapreduce na Modelagem de Algoritmos Genéticos para o “P...
Aplicação da Técnica Mapreduce na Modelagem de Algoritmos Genéticos para o “P...
 
Apresentação em Aplicações Distribuídas – Hadoop MapReduce
Apresentação em Aplicações Distribuídas – Hadoop MapReduceApresentação em Aplicações Distribuídas – Hadoop MapReduce
Apresentação em Aplicações Distribuídas – Hadoop MapReduce
 
Big Data na Nuvem
Big Data na NuvemBig Data na Nuvem
Big Data na Nuvem
 
[DTC21] Lucas Gomes - Do 0 ao 100 no Big Data
[DTC21] Lucas Gomes - Do 0 ao 100 no Big Data[DTC21] Lucas Gomes - Do 0 ao 100 no Big Data
[DTC21] Lucas Gomes - Do 0 ao 100 no Big Data
 
Bigdata na pratica: Resolvendo problemas de performance com hadoop
Bigdata na pratica: Resolvendo problemas de performance com hadoopBigdata na pratica: Resolvendo problemas de performance com hadoop
Bigdata na pratica: Resolvendo problemas de performance com hadoop
 
Cientista de Dados – Dominando o Big Data com Software Livre
Cientista de Dados – Dominando o Big Data com Software Livre Cientista de Dados – Dominando o Big Data com Software Livre
Cientista de Dados – Dominando o Big Data com Software Livre
 
Arquitetura para solução Big Data – open source
Arquitetura para solução Big Data – open sourceArquitetura para solução Big Data – open source
Arquitetura para solução Big Data – open source
 
Big data e mineração de dados
Big data e mineração de dadosBig data e mineração de dados
Big data e mineração de dados
 
Big Data - O que é o hadoop, map reduce, hdfs e hive
Big Data - O que é o hadoop, map reduce, hdfs e hiveBig Data - O que é o hadoop, map reduce, hdfs e hive
Big Data - O que é o hadoop, map reduce, hdfs e hive
 
Big Data, JVM e Redes Sociais
Big Data, JVM e Redes SociaisBig Data, JVM e Redes Sociais
Big Data, JVM e Redes Sociais
 
Bi ferramentas olap 1
Bi   ferramentas olap 1Bi   ferramentas olap 1
Bi ferramentas olap 1
 
Google BigQuery
Google BigQueryGoogle BigQuery
Google BigQuery
 
Keynote AWS Roadshow Campinas 2013
Keynote AWS Roadshow Campinas 2013Keynote AWS Roadshow Campinas 2013
Keynote AWS Roadshow Campinas 2013
 
Computação paralela 2 cluster e grid
Computação paralela 2 cluster e grid Computação paralela 2 cluster e grid
Computação paralela 2 cluster e grid
 
MapReduce
MapReduceMapReduce
MapReduce
 
Modelos de computação distribuída no Hadoop
Modelos de computação distribuída no HadoopModelos de computação distribuída no Hadoop
Modelos de computação distribuída no Hadoop
 
Keynote AWS RoadShow Belo Horizonte 2013
Keynote AWS RoadShow Belo Horizonte 2013Keynote AWS RoadShow Belo Horizonte 2013
Keynote AWS RoadShow Belo Horizonte 2013
 

Plus de João Gabriel Lima

Deep marketing - Indoor Customer Segmentation
Deep marketing - Indoor Customer SegmentationDeep marketing - Indoor Customer Segmentation
Deep marketing - Indoor Customer SegmentationJoão Gabriel Lima
 
Aplicações de Alto Desempenho com JHipster Full Stack
Aplicações de Alto Desempenho com JHipster Full StackAplicações de Alto Desempenho com JHipster Full Stack
Aplicações de Alto Desempenho com JHipster Full StackJoão Gabriel Lima
 
Realidade aumentada com react native e ARKit
Realidade aumentada com react native e ARKitRealidade aumentada com react native e ARKit
Realidade aumentada com react native e ARKitJoão Gabriel Lima
 
Big data e Inteligência Artificial
Big data e Inteligência ArtificialBig data e Inteligência Artificial
Big data e Inteligência ArtificialJoão Gabriel Lima
 
Mineração de Dados no Weka - Regressão Linear
Mineração de Dados no Weka -  Regressão LinearMineração de Dados no Weka -  Regressão Linear
Mineração de Dados no Weka - Regressão LinearJoão Gabriel Lima
 
Segurança na Internet - Estudos de caso
Segurança na Internet - Estudos de casoSegurança na Internet - Estudos de caso
Segurança na Internet - Estudos de casoJoão Gabriel Lima
 
Segurança na Internet - Google Hacking
Segurança na Internet - Google  HackingSegurança na Internet - Google  Hacking
Segurança na Internet - Google HackingJoão Gabriel Lima
 
Segurança na Internet - Conceitos fundamentais
Segurança na Internet - Conceitos fundamentaisSegurança na Internet - Conceitos fundamentais
Segurança na Internet - Conceitos fundamentaisJoão Gabriel Lima
 
Mineração de Dados com RapidMiner - Um Estudo de caso sobre o Churn Rate em...
Mineração de Dados com RapidMiner - Um Estudo de caso sobre o Churn Rate em...Mineração de Dados com RapidMiner - Um Estudo de caso sobre o Churn Rate em...
Mineração de Dados com RapidMiner - Um Estudo de caso sobre o Churn Rate em...João Gabriel Lima
 
Mineração de dados com RapidMiner + WEKA - Clusterização
Mineração de dados com RapidMiner + WEKA - ClusterizaçãoMineração de dados com RapidMiner + WEKA - Clusterização
Mineração de dados com RapidMiner + WEKA - ClusterizaçãoJoão Gabriel Lima
 
Mineração de dados na prática com RapidMiner e Weka
Mineração de dados na prática com RapidMiner e WekaMineração de dados na prática com RapidMiner e Weka
Mineração de dados na prática com RapidMiner e WekaJoão Gabriel Lima
 
Visualizacao de dados - Come to the dark side
Visualizacao de dados - Come to the dark sideVisualizacao de dados - Come to the dark side
Visualizacao de dados - Come to the dark sideJoão Gabriel Lima
 
REST x SOAP : Qual abordagem escolher?
REST x SOAP : Qual abordagem escolher?REST x SOAP : Qual abordagem escolher?
REST x SOAP : Qual abordagem escolher?João Gabriel Lima
 
Game of data - Predição e Análise da série Game Of Thrones a partir do uso de...
Game of data - Predição e Análise da série Game Of Thrones a partir do uso de...Game of data - Predição e Análise da série Game Of Thrones a partir do uso de...
Game of data - Predição e Análise da série Game Of Thrones a partir do uso de...João Gabriel Lima
 
E-trânsito cidadão - IPVA em suas mãos
E-trânsito cidadão - IPVA em suas mãosE-trânsito cidadão - IPVA em suas mãos
E-trânsito cidadão - IPVA em suas mãosJoão Gabriel Lima
 
[Estácio - IESAM] Automatizando Tarefas com Gulp.js
[Estácio - IESAM] Automatizando Tarefas com Gulp.js[Estácio - IESAM] Automatizando Tarefas com Gulp.js
[Estácio - IESAM] Automatizando Tarefas com Gulp.jsJoão Gabriel Lima
 
Hackeando a Internet das Coisas com Javascript
Hackeando a Internet das Coisas com JavascriptHackeando a Internet das Coisas com Javascript
Hackeando a Internet das Coisas com JavascriptJoão Gabriel Lima
 

Plus de João Gabriel Lima (20)

Cooking with data
Cooking with dataCooking with data
Cooking with data
 
Deep marketing - Indoor Customer Segmentation
Deep marketing - Indoor Customer SegmentationDeep marketing - Indoor Customer Segmentation
Deep marketing - Indoor Customer Segmentation
 
Aplicações de Alto Desempenho com JHipster Full Stack
Aplicações de Alto Desempenho com JHipster Full StackAplicações de Alto Desempenho com JHipster Full Stack
Aplicações de Alto Desempenho com JHipster Full Stack
 
Realidade aumentada com react native e ARKit
Realidade aumentada com react native e ARKitRealidade aumentada com react native e ARKit
Realidade aumentada com react native e ARKit
 
JS - IA
JS - IAJS - IA
JS - IA
 
Big data e Inteligência Artificial
Big data e Inteligência ArtificialBig data e Inteligência Artificial
Big data e Inteligência Artificial
 
Mineração de Dados no Weka - Regressão Linear
Mineração de Dados no Weka -  Regressão LinearMineração de Dados no Weka -  Regressão Linear
Mineração de Dados no Weka - Regressão Linear
 
Segurança na Internet - Estudos de caso
Segurança na Internet - Estudos de casoSegurança na Internet - Estudos de caso
Segurança na Internet - Estudos de caso
 
Segurança na Internet - Google Hacking
Segurança na Internet - Google  HackingSegurança na Internet - Google  Hacking
Segurança na Internet - Google Hacking
 
Segurança na Internet - Conceitos fundamentais
Segurança na Internet - Conceitos fundamentaisSegurança na Internet - Conceitos fundamentais
Segurança na Internet - Conceitos fundamentais
 
Web Machine Learning
Web Machine LearningWeb Machine Learning
Web Machine Learning
 
Mineração de Dados com RapidMiner - Um Estudo de caso sobre o Churn Rate em...
Mineração de Dados com RapidMiner - Um Estudo de caso sobre o Churn Rate em...Mineração de Dados com RapidMiner - Um Estudo de caso sobre o Churn Rate em...
Mineração de Dados com RapidMiner - Um Estudo de caso sobre o Churn Rate em...
 
Mineração de dados com RapidMiner + WEKA - Clusterização
Mineração de dados com RapidMiner + WEKA - ClusterizaçãoMineração de dados com RapidMiner + WEKA - Clusterização
Mineração de dados com RapidMiner + WEKA - Clusterização
 
Mineração de dados na prática com RapidMiner e Weka
Mineração de dados na prática com RapidMiner e WekaMineração de dados na prática com RapidMiner e Weka
Mineração de dados na prática com RapidMiner e Weka
 
Visualizacao de dados - Come to the dark side
Visualizacao de dados - Come to the dark sideVisualizacao de dados - Come to the dark side
Visualizacao de dados - Come to the dark side
 
REST x SOAP : Qual abordagem escolher?
REST x SOAP : Qual abordagem escolher?REST x SOAP : Qual abordagem escolher?
REST x SOAP : Qual abordagem escolher?
 
Game of data - Predição e Análise da série Game Of Thrones a partir do uso de...
Game of data - Predição e Análise da série Game Of Thrones a partir do uso de...Game of data - Predição e Análise da série Game Of Thrones a partir do uso de...
Game of data - Predição e Análise da série Game Of Thrones a partir do uso de...
 
E-trânsito cidadão - IPVA em suas mãos
E-trânsito cidadão - IPVA em suas mãosE-trânsito cidadão - IPVA em suas mãos
E-trânsito cidadão - IPVA em suas mãos
 
[Estácio - IESAM] Automatizando Tarefas com Gulp.js
[Estácio - IESAM] Automatizando Tarefas com Gulp.js[Estácio - IESAM] Automatizando Tarefas com Gulp.js
[Estácio - IESAM] Automatizando Tarefas com Gulp.js
 
Hackeando a Internet das Coisas com Javascript
Hackeando a Internet das Coisas com JavascriptHackeando a Internet das Coisas com Javascript
Hackeando a Internet das Coisas com Javascript
 

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

  • 1. MapReduce Novas abordagens para o processo de DataMining em grandes volumes de dados J. Gabriel Lima jgabriel.ufpa@gmail.com LINC - Laboratório de Inteligência Computacional
  • 2. 2 • Introdução • Conceitos Gerais • Exemplos • Trabalhos Correlatos em DataMining Agenda
  • 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. 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. “ Como reação a essa complexidade, foi elaborado uma nova abstração que nos permite expressar os cálculos simples que estávamos tentando realizar, mas esconde os detalhes confusos de paralelização, tolerância a falhas de distribuição de dados e balanceamento de carga” Introdução
  • 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. As maior contribuição dessa nova abordagem é a implantação de uma simples e poderosa interface que permite a paralelização automática e distribuição da computação em grande escala, combinado com uma implementação desta interface que atinge alta performance em grandes aglomerados de máquinas Conceitos Gerais
  • 8. O cálculo toma um conjunto de pares de entradas de chave/valor, e produz um conjunto de pares de saídas chave/valor. O usuário que implementa o MapReduce expressa o cálculo como duas funções: Map e Raduce. Modelo de Programação
  • 9. Map, escrito pelo usuário, leva um par de entrada e produz um conjunto de pares intermediários de chave/valor. Neste processo há uma junção de todos os valores intermediários associados com uma mesma chave intermediária, afim de passá-los para a função Reduce. MAP
  • 10. A função Reduce, também escrito pelo usuário, aceita l 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. l l 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
  • 15. Programa que processa e conta o número de ocorrências de cada palavra em um texto: Nº Linhas: 3800 Nº palavras: 4411 Tempo: ~ 0.00909018516541 microssegundos Exemplo Prático
  • 16. O modelo de programação MapReduce tem sido utilizado com sucesso no Google para diversas finalidades. Atribui-se o sucesso a vá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. Trabalhos Correlatos - 2011 61 Artigos
  • 18. Map-Reduce for Machine Learning on Multicore (Cheng-Tao Chu) Mostram que os algoritmos que se encaixam no modelo de consulta estatística podem ser escritos em uma "forma de somatório," permitindo o uso do MapReduce para paralelizar o processamento em computadores 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. BBM: Bayesian Browsing Model from Petabyte-scale Data (Chao Liu - Microsoft Research) “Dado um base de dados de petabytes de logs de clique, como podemos estimar a relevância de cada URL para uma determinada consulta?” Neste trabalho é proposto o Modelo de Navegação Bayesiana (BBM), uma nova 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ões de consultas distintas, BBM supera o concorrente ser 57 vezes mais rápido. Na segunda, é apresentado a escalabilidade da BBM usando o MapReduce
  • 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 em formatos personalizados. Ramificação também inclui um sistema catálogo, Hive-Metastore, esquemas contendo e estatísticas, o que é útil na exploração de dados e otimização de consulta. No Facebook, o armazém Hive contém vários milhares tabelas com mais de 7 terabytes de dados e está sendo amplamente utilizado para relatórios e análises de dados.
  • 21. Scaling Simple and Compact Genetic Algorithms using MapReduce Neste artigo, mostramos como os algoritmos genéticos podem ser modelados no modelo MapReduce. Descrevemos o projeto de algoritmo e implementação de um AG simples em Hadoop. . Nossos experimentos demonstram a convergência e escalabilidade em 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 que não introduzem qualquer gargalos de performance.
  • 22. COMET: A Recipe for Learning and Using Large Ensembles on Massive Dat COMET é um algoritmo de single-pass para MapReduce em larga escala de dado Baseia-se em um conjunto aleatório de blocos de dados distribuídos e funde-os em um conjunto de mega-dados. Esta abordagem é adequada quando a escala de dados que é grande demais para caber em uma única máquina. Experimentos com dois grandes conjuntos de dados (5 GB e 50GB compactados) . mostram que o cometa se comporta favoravelmente (em precisão e tempo) .
  • 23. HadoopDB: An Architectural Hybrid of MapReduce and DBMS Technologies for Analytical Workloads (Brown University) Neste artigo, os autores exploraram a viabilidade de construção de um sistema híbrido que tem as melhores características de ambas as tecnologias, o protótipo que construímo se aproxima bancos de dados paralelos em desempenho eeficiência, mas ainda produz a escalabilidade, tolerância a falhas, e flexibilidade de sistemas baseados em MapReduce. .
  • 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. 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 funcionar Trabalhos Futuros Aplicar as técnicas descritas desde a primeira apresentação em bases de dados 'reais' - Segurança Pública - CDI - Vijay