Arquiteturas, Tecnologias e Desafios para Análise de BigData

download

of 32

  • date post

    06-Dec-2014
  • Category

    Software
  • view

    197
  • download

    4

Embed Size (px)

description

Arquiteturas, Tecnologias e Desafios para Anlise de BigData

transcript

  • 1. Arquiteturas, Tecnologias e Desafios para Anlise de BigData Sandro S. Andrade Instituto Federal de Educao, Cincia e Tecnologia (IFBa) Grupo de Pesquisa em Sistemas Distribudos, Otimizao, Redes e Tempo-Real (GSORT) sandroandrade@ifba.edu.br @andradesandro Arquiteturas, Tecnologias e Desafios para Anlise de BigData Sandro S. Andrade
  • 2. Arquiteturas, Tecnologias e Desafios para Anlise de BigData Sandro S. Andrade Agenda Motivao O MapReduce O Hadoop Design Patterns para MapReduce Hadoop Projetos Relacionados Desafios Atuais Concluso
  • 3. Motivao Arquiteturas, Tecnologias e Desafios para Anlise de BigData Sandro S. Andrade
  • 4. Motivao Arquiteturas, Tecnologias e Desafios para Anlise de BigData Sandro S. Andrade
  • 5. Motivao Arquiteturas, Tecnologias e Desafios para Anlise de BigData Sandro S. Andrade
  • 6. Motivao Arquiteturas, Tecnologias e Desafios para Anlise de BigData Sandro S. Andrade
  • 7. Motivao Arquiteturas, Tecnologias e Desafios para Anlise de BigData Sandro S. Andrade BigData: Termo utilizado para descrever qualquer conjunto de dados grande e complexo o suficiente para inviabilizar o uso das tecnologias tradicionais de armazenamento e processamento Caractersticas: Volume Variedade Velocidade Variabilidade Complexidade
  • 8. Motivao BigData hoje: eBay.com: cluster Hadoop de 40PB para busca, recomendaes e propaganda Amazon.com: armazenamentos de 7.8, 18.5 e 24.7TB Wallmart: 1 milho de transaes de clientes por hora, armazenadas em uma base de 2.5PB Facebook: 50 bilhes de fotos, 600TB de novos dados por dia, 684.478 postagens por minuto Youtube: 48h de novos vdeos por minuto Instagram: 3600 novas fotos por minuto Arquiteturas, Tecnologias e Desafios para Anlise de BigData Sandro S. Andrade
  • 9. Motivao BigData hoje: Colisor LHC: 15 PB por ano Radiologia: 69 PB por ano Square Kilometre Array (SKA): 0.5 ZB por ano em 2022 Observao da terra: 4PB por ano Anlise de dados ssmicos: alguns TB por dia Arquiteturas, Tecnologias e Desafios para Anlise de BigData Sandro S. Andrade
  • 10. Motivao Porque analisar todos estes dados ? Marketing mais efetivo Aumento nos lucros Reduo de custos Melhorias nas tamadas de deciso Sistemas de recomendao Anlise de risco Smart Cities Arquiteturas, Tecnologias e Desafios para Anlise de BigData Sandro S. Andrade
  • 11. O MapReduce Estilo arquitetural e paradigma de computao para processamento distribudo de dados que residem em uma grande quantidade de computadores Criado pelo Google e popularizado em 2004, no artigo MapReduce: Simplified Data Processing on Large Clusters Logo depois o projeto Hadoop foi criado por Doug Cutting, financiado pelo Yahoo! e passou a integrar a Apache Foundation Arquiteturas, Tecnologias e Desafios para Anlise de BigData Sandro S. Andrade
  • 12. O MapReduce Viso geral do MapReduce: Dados so armazenados em um sistema de arquivos distribudo, implementado em milhares de mquinas em um cluster Jobs so implementados como tarefas de map e tarefas de reduce que executam em um cluster Cada tarefa processa um pequeno subconjunto dos dados, de modo que a carga dividida entre as mquinas do cluster Arquiteturas, Tecnologias e Desafios para Anlise de BigData Sandro S. Andrade
  • 13. O MapReduce Viso geral do MapReduce: A tarefa de map geralmente faz carga, parse, transformao e filtragem de dados A tarefa de reduce responsvel por tratar um subconjunto dos dados de sada das tarefas de map Dados intermedirios so copiados das tarefas map para as tarefas reduce, de modo a agregar e agrupar os dados de sada Um amplo conjunto de problemas pode ser resolvido com este paradigma, desde agregaes numricas simples at joins e produtos cartesianos Arquiteturas, Tecnologias e Desafios para Anlise de BigData Sandro S. Andrade
  • 14. O MapReduce Viso geral do MapReduce: Arquiteturas, Tecnologias e Desafios para Anlise de BigData Sandro S. Andrade
  • 15. O MapReduce Viso geral do MapReduce exemplo de job: Arquiteturas, Tecnologias e Desafios para Anlise de BigData Sandro S. Andrade
  • 16. O Hadoop Framework open source para armazenamento e processamento de BigData em larga-escala Servios: Sistema de arquivos distribudo (HDFS) Framework para execuo de aplicaes paralelas (YARN) MapReduce como um dos modelos de computao distribuda suportados no YARN Mantido pela Apache Foundation http://hadoop.apache.org/ Arquiteturas, Tecnologias e Desafios para Anlise de BigData Sandro S. Andrade
  • 17. O Hadoop Excelente escalabilidade e tolerncia a falhas Jobs podem ser programados em Java ou em outras linguagens (via Hadoop Streaming) Boa escalabilidade horizontal (rebalanceamento) Cerca de 190 parmetros de configurao Usos atuais: Yahoo!: 42.000 mquinas rodando Hadoop Facebook: 100PB de armazenamento no HDFS, 2.000 mquinas (8/16 ncleos, 32GB RAM, 12TB HD). 0.5 PB de novos dados por dia Arquiteturas, Tecnologias e Desafios para Anlise de BigData Sandro S. Andrade
  • 18. O Hadoop Arquitetura do HDFS: Arquiteturas, Tecnologias e Desafios para Anlise de BigData Sandro S. Andrade
  • 19. O Hadoop Arquitetura do YARN: Arquiteturas, Tecnologias e Desafios para Anlise de BigData Sandro S. Andrade
  • 20. O Hadoop Arquitetura do YARN: Arquiteturas, Tecnologias e Desafios para Anlise de BigData Sandro S. Andrade
  • 21. O Hadoop Arquitetura do YARN: Arquiteturas, Tecnologias e Desafios para Anlise de BigData Sandro S. Andrade
  • 22. O Hadoop YARN - escalonadores: Fair Scheduler: Desenvolvido pelo Facebook Jobs so agrupados em pools Garante-se a cada pool uma disponibilidade mnima de recursos O excesso de capacidade dividido entre os jobs Capacity Scheduler: Desenvolvido pelo Yahoo! Jobs so submetidos a filas, que usam uma frao dos recursos Recursos livres podem ser alocados a filas alm da sua capacidade total Arquiteturas, Tecnologias e Desafios para Anlise de BigData Sandro S. Andrade
  • 23. O Hadoop Exemplo contador de palavras main public static void main(String[] args) throws Exception { Configuration conf = new Configuration(); String[] otherArgs = new GenericOptionsParser(conf, args).getRemainingArgs(); if (otherArgs.length != 2) { System.err.println("Usage: wordcount "); System.exit(2); } Job job = new Job(conf, "word count"); job.setJarByClass(WordCount.class); job.setMapperClass(TokenizerMapper.class); job.setCombinerClass(IntSumReducer.class); job.setReducerClass(IntSumReducer.class); job.setOutputKeyClass(Text.class); job.setOutputValueClass(IntWritable.class); FileInputFormat.addInputPat