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

<ul><li> 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 </li> <li> 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 </li> <li> 3. Motivao Arquiteturas, Tecnologias e Desafios para Anlise de BigData Sandro S. Andrade </li> <li> 4. Motivao Arquiteturas, Tecnologias e Desafios para Anlise de BigData Sandro S. Andrade </li> <li> 5. Motivao Arquiteturas, Tecnologias e Desafios para Anlise de BigData Sandro S. Andrade </li> <li> 6. Motivao Arquiteturas, Tecnologias e Desafios para Anlise de BigData Sandro S. Andrade </li> <li> 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 </li> <li> 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 </li> <li> 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 </li> <li> 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 </li> <li> 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 </li> <li> 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 </li> <li> 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 </li> <li> 14. O MapReduce Viso geral do MapReduce: Arquiteturas, Tecnologias e Desafios para Anlise de BigData Sandro S. Andrade </li> <li> 15. O MapReduce Viso geral do MapReduce exemplo de job: Arquiteturas, Tecnologias e Desafios para Anlise de BigData Sandro S. Andrade </li> <li> 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 </li> <li> 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 </li> <li> 18. O Hadoop Arquitetura do HDFS: Arquiteturas, Tecnologias e Desafios para Anlise de BigData Sandro S. Andrade </li> <li> 19. O Hadoop Arquitetura do YARN: Arquiteturas, Tecnologias e Desafios para Anlise de BigData Sandro S. Andrade </li> <li> 20. O Hadoop Arquitetura do YARN: Arquiteturas, Tecnologias e Desafios para Anlise de BigData Sandro S. Andrade </li> <li> 21. O Hadoop Arquitetura do YARN: Arquiteturas, Tecnologias e Desafios para Anlise de BigData Sandro S. Andrade </li> <li> 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 </li> <li> 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.addInputPath(job, new Path(otherArgs[0])); FileOutputFormat.setOutputPath(job, new Path(otherArgs[1])); System.exit(job.waitForCompletion(true) ? 0 : 1); } Arquiteturas, Tecnologias e Desafios para Anlise de BigData Sandro S. Andrade </li> <li> 24. O Hadoop Exemplo contador de palavras mapper public static class TokenizerMapper extends Mapper{ private final static IntWritable one = new IntWritable(1); private Text word = new Text(); public void map(Object key, Text value, Context context ) throws IOException, InterruptedException { StringTokenizer itr = new StringTokenizer(value.toString()); while (itr.hasMoreTokens()) { word.set(itr.nextToken()); context.write(word, one); } } } Arquiteturas, Tecnologias e Desafios para Anlise de BigData Sandro S. Andrade </li> <li> 25. O Hadoop Exemplo contador de palavras reducer public static class IntSumReducer extends Reducer { private IntWritable result = new IntWritable(); public void reduce(Text key, Iterable values, Context context ) throws IOException, InterruptedException { int sum = 0; for (IntWritable val : values) { sum += val.get(); } result.set(sum); context.write(key, result); } } Arquiteturas, Tecnologias e Desafios para Anlise de BigData Sandro S. Andrade </li> <li> 26. Design Patterns para MapReduce Numerical Summarizations Inverted Index Summarizations Counting with Counters Arquiteturas, Tecnologias e Desafios para Anlise de BigData Sandro S. Andrade Filtering Top Ten Structured to Hierarchical Reduce Side Join Replicated Join muitos outros </li> <li> 27. Hadoop Projetos Relacionados Ambari: provisionamento, gerenciamento e monitoramento de clusters Hadoop Cassandra: banco de dados com escalabilidade linear e alta disponibilidade (nenhum ponto nico de falha) HBase: banco de dados no relacional desenvolvido sobre o HDFS Hive: anlise de dados atravs de linguagem SQL-like (HiveQL). Desenvolvido pelo Facebook e Arquiteturas, Tecnologias e Desafios para Anlise de BigData Sandro S. Andrade Netflix </li> <li> 28. Hadoop Projetos Relacionados Manout: biblioteca escalvel para aprendizado de mquina Pig: anlise de dados com linguagens de alto nvel Spark: mapreduce de alto desempenho Tez: processamento de dados com grafos direcionados acclicos ZooKeeper: coordenao e comunicao em grupo Giraph: processamento interativo de grafos Arquiteturas, Tecnologias e Desafios para Anlise de BigData Sandro S. Andrade </li> <li> 29. Hadoop Ecossistema Commits por empresa: Arquiteturas, Tecnologias e Desafios para Anlise de BigData Sandro S. Andrade </li> <li> 30. Desafios Atuais Garantia de QoS em clusters Hadoop Controle e sintonia automtica de parmetros Elasticidade automtica Mecanismos de alto nvel (prximos ao negcio) para anlise de dados Arquiteturas, Tecnologias e Desafios para Anlise de BigData Sandro S. Andrade </li> <li> 31. Concluso Escalabilidade como requisito no-funcional primordial Foco na acomodao de falhas de hardware O MapReduce interessante, mas limita o projeto e implementao dos jobs necessrio formao profissional na rea de sistemas distribudos, arquitetura de software e anlise de desempenho Anlise de BigData como diferencial competitivo nas organizaes Arquiteturas, Tecnologias e Desafios para Anlise de BigData Sandro S. Andrade </li> <li> 32. Obrigado ! 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 </li> </ul>