Arquiteturas, Tecnologias e Desafios 
para Análise de BigData 
Sandro S. Andrade 
Instituto Federal de Educação, Ciência e...
Arquiteturas, Tecnologias e Desafios para Análise de BigData – Sandro S. Andrade 
Agenda 
● Motivação 
● O MapReduce 
● O ...
Motivação 
Arquiteturas, Tecnologias e Desafios para Análise de BigData – Sandro S. Andrade
Motivação 
Arquiteturas, Tecnologias e Desafios para Análise de BigData – Sandro S. Andrade
Motivação 
Arquiteturas, Tecnologias e Desafios para Análise de BigData – Sandro S. Andrade
Motivação 
Arquiteturas, Tecnologias e Desafios para Análise de BigData – Sandro S. Andrade
Motivação 
Arquiteturas, Tecnologias e Desafios para Análise de BigData – Sandro S. Andrade 
● BigData: 
– Termo utilizado...
Motivação 
● BigData hoje: 
– eBay.com: cluster Hadoop de 40PB para busca, 
recomendações e propaganda 
– Amazon.com: arma...
Motivação 
● BigData hoje: 
– Colisor LHC: 15 PB por ano 
– Radiologia: 69 PB por ano 
– Square Kilometre Array (SKA): 0.5...
Motivação 
● Porque analisar todos estes dados ? 
– Marketing mais efetivo 
– Aumento nos lucros 
– Redução de custos 
– M...
O MapReduce 
● Estilo arquitetural e paradigma de computação 
para processamento distribuído de dados que 
residem em uma ...
O MapReduce 
● Visão geral do MapReduce: 
– Dados são armazenados em um sistema de arquivos 
distribuído, implementado em ...
O MapReduce 
● Visão geral do MapReduce: 
– A tarefa de map geralmente faz carga, parse, 
transformação e filtragem de dad...
O MapReduce 
● Visão geral do MapReduce: 
Arquiteturas, Tecnologias e Desafios para Análise de BigData – Sandro S. Andrade
O MapReduce 
● Visão geral do MapReduce – exemplo de job: 
Arquiteturas, Tecnologias e Desafios para Análise de BigData – ...
O Hadoop 
● Framework open source para armazenamento e 
processamento de BigData em larga-escala 
● Serviços: 
– Sistema d...
O Hadoop 
● Excelente escalabilidade e tolerância a falhas 
● Jobs podem ser programados em Java ou em 
outras linguagens ...
O Hadoop 
● Arquitetura do HDFS: 
Arquiteturas, Tecnologias e Desafios para Análise de BigData – Sandro S. Andrade
O Hadoop 
● Arquitetura do YARN: 
Arquiteturas, Tecnologias e Desafios para Análise de BigData – Sandro S. Andrade
O Hadoop 
● Arquitetura do YARN: 
Arquiteturas, Tecnologias e Desafios para Análise de BigData – Sandro S. Andrade
O Hadoop 
● Arquitetura do YARN: 
Arquiteturas, Tecnologias e Desafios para Análise de BigData – Sandro S. Andrade
O Hadoop 
● YARN - escalonadores: 
– Fair Scheduler: 
● Desenvolvido pelo Facebook 
● Jobs são agrupados em pools 
● Garan...
O Hadoop 
● Exemplo – contador de palavras – main 
public static void main(String[] args) throws Exception { 
Configuratio...
O Hadoop 
● Exemplo – contador de palavras – mapper 
public static class TokenizerMapper 
extends Mapper<Object, Text, Tex...
O Hadoop 
● Exemplo – contador de palavras – reducer 
public static class IntSumReducer 
extends Reducer<Text,IntWritable,...
Design Patterns para MapReduce 
● Numerical Summarizations 
● Inverted Index Summarizations 
● Counting with Counters 
Arq...
Hadoop – Projetos Relacionados 
● Ambari: provisionamento, gerenciamento e 
monitoramento de clusters Hadoop 
● Cassandra:...
Hadoop – Projetos Relacionados 
● Manout: biblioteca escalável para aprendizado de 
máquina 
● Pig: análise de dados com l...
Hadoop – Ecossistema 
● Commits por empresa: 
Arquiteturas, Tecnologias e Desafios para Análise de BigData – Sandro S. And...
Desafios Atuais 
● Garantia de QoS em clusters Hadoop 
● Controle e sintonia automática de parâmetros 
● Elasticidade auto...
Conclusão 
● Escalabilidade como requisito não-funcional 
primordial 
● Foco na acomodação de falhas de hardware 
● O MapR...
Obrigado ! 
Sandro S. Andrade 
Instituto Federal de Educação, Ciência e Tecnologia (IFBa) 
Grupo de Pesquisa em Sistemas D...
Próximos SlideShares
Carregando em…5
×

Arquiteturas, Tecnologias e Desafios para Análise de BigData

817 visualizações

Publicada em

Arquiteturas, Tecnologias e Desafios para Análise de BigData

Publicada em: Software
0 comentários
8 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
817
No SlideShare
0
A partir de incorporações
0
Número de incorporações
9
Ações
Compartilhamentos
0
Downloads
27
Comentários
0
Gostaram
8
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Arquiteturas, Tecnologias e Desafios para Análise de BigData

  1. 1. Arquiteturas, Tecnologias e Desafios para Análise de BigData Sandro S. Andrade Instituto Federal de Educação, Ciência e Tecnologia (IFBa) Grupo de Pesquisa em Sistemas Distribuídos, Otimização, Redes e Tempo-Real (GSORT) sandroandrade@ifba.edu.br @andradesandro Arquiteturas, Tecnologias e Desafios para Análise de BigData – Sandro S. Andrade
  2. 2. Arquiteturas, Tecnologias e Desafios para Análise de BigData – Sandro S. Andrade Agenda ● Motivação ● O MapReduce ● O Hadoop ● Design Patterns para MapReduce ● Hadoop – Projetos Relacionados ● Desafios Atuais ● Conclusão
  3. 3. Motivação Arquiteturas, Tecnologias e Desafios para Análise de BigData – Sandro S. Andrade
  4. 4. Motivação Arquiteturas, Tecnologias e Desafios para Análise de BigData – Sandro S. Andrade
  5. 5. Motivação Arquiteturas, Tecnologias e Desafios para Análise de BigData – Sandro S. Andrade
  6. 6. Motivação Arquiteturas, Tecnologias e Desafios para Análise de BigData – Sandro S. Andrade
  7. 7. Motivação Arquiteturas, Tecnologias e Desafios para Análise 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 ● Características: – Volume – Variedade – Velocidade – Variabilidade – Complexidade
  8. 8. Motivação ● BigData hoje: – eBay.com: cluster Hadoop de 40PB para busca, recomendações e propaganda – Amazon.com: armazenamentos de 7.8, 18.5 e 24.7TB – Wallmart: 1 milhão de transações de clientes por hora, armazenadas em uma base de 2.5PB – Facebook: 50 bilhões de fotos, 600TB de novos dados por dia, 684.478 postagens por minuto – Youtube: 48h de novos vídeos por minuto – Instagram: 3600 novas fotos por minuto Arquiteturas, Tecnologias e Desafios para Análise de BigData – Sandro S. Andrade
  9. 9. Motivação ● BigData hoje: – Colisor LHC: 15 PB por ano – Radiologia: 69 PB por ano – Square Kilometre Array (SKA): 0.5 ZB por ano em 2022 – Observação da terra: 4PB por ano – Análise de dados sísmicos: alguns TB por dia Arquiteturas, Tecnologias e Desafios para Análise de BigData – Sandro S. Andrade
  10. 10. Motivação ● Porque analisar todos estes dados ? – Marketing mais efetivo – Aumento nos lucros – Redução de custos – Melhorias nas tamadas de decisão – Sistemas de recomendação – Análise de risco – Smart Cities Arquiteturas, Tecnologias e Desafios para Análise de BigData – Sandro S. Andrade
  11. 11. O MapReduce ● Estilo arquitetural e paradigma de computação para processamento distribuído 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 Análise de BigData – Sandro S. Andrade
  12. 12. O MapReduce ● Visão geral do MapReduce: – Dados são armazenados em um sistema de arquivos distribuído, implementado em milhares de máquinas em um cluster – Jobs são 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 máquinas do cluster Arquiteturas, Tecnologias e Desafios para Análise de BigData – Sandro S. Andrade
  13. 13. O MapReduce ● Visão geral do MapReduce: – A tarefa de map geralmente faz carga, parse, transformação e filtragem de dados – A tarefa de reduce é responsável por tratar um subconjunto dos dados de saída das tarefas de map – Dados intermediários são copiados das tarefas map para as tarefas reduce, de modo a agregar e agrupar os dados de saída – Um amplo conjunto de problemas pode ser resolvido com este paradigma, desde agregações numéricas simples até joins e produtos cartesianos Arquiteturas, Tecnologias e Desafios para Análise de BigData – Sandro S. Andrade
  14. 14. O MapReduce ● Visão geral do MapReduce: Arquiteturas, Tecnologias e Desafios para Análise de BigData – Sandro S. Andrade
  15. 15. O MapReduce ● Visão geral do MapReduce – exemplo de job: Arquiteturas, Tecnologias e Desafios para Análise de BigData – Sandro S. Andrade
  16. 16. O Hadoop ● Framework open source para armazenamento e processamento de BigData em larga-escala ● Serviços: – Sistema de arquivos distribuído (HDFS) – Framework para execução de aplicações paralelas (YARN) – MapReduce como um dos modelos de computação distribuída suportados no YARN ● Mantido pela Apache Foundation – http://hadoop.apache.org/ Arquiteturas, Tecnologias e Desafios para Análise de BigData – Sandro S. Andrade
  17. 17. O Hadoop ● Excelente escalabilidade e tolerância a falhas ● Jobs podem ser programados em Java ou em outras linguagens (via Hadoop Streaming) ● Boa escalabilidade horizontal (rebalanceamento) ● Cerca de 190 parâmetros de configuração ● Usos atuais: – Yahoo!: 42.000 máquinas rodando Hadoop – Facebook: 100PB de armazenamento no HDFS, 2.000 máquinas (8/16 núcleos, 32GB RAM, 12TB HD). 0.5 PB de novos dados por dia Arquiteturas, Tecnologias e Desafios para Análise de BigData – Sandro S. Andrade
  18. 18. O Hadoop ● Arquitetura do HDFS: Arquiteturas, Tecnologias e Desafios para Análise de BigData – Sandro S. Andrade
  19. 19. O Hadoop ● Arquitetura do YARN: Arquiteturas, Tecnologias e Desafios para Análise de BigData – Sandro S. Andrade
  20. 20. O Hadoop ● Arquitetura do YARN: Arquiteturas, Tecnologias e Desafios para Análise de BigData – Sandro S. Andrade
  21. 21. O Hadoop ● Arquitetura do YARN: Arquiteturas, Tecnologias e Desafios para Análise de BigData – Sandro S. Andrade
  22. 22. O Hadoop ● YARN - escalonadores: – Fair Scheduler: ● Desenvolvido pelo Facebook ● Jobs são agrupados em pools ● Garante-se a cada pool uma disponibilidade mínima de recursos ● O excesso de capacidade é dividido entre os jobs – Capacity Scheduler: ● Desenvolvido pelo Yahoo! ● Jobs são submetidos a filas, que usam uma fração dos recursos ● Recursos livres podem ser alocados a filas além da sua capacidade total Arquiteturas, Tecnologias e Desafios para Análise de BigData – Sandro S. Andrade
  23. 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 <in> <out>"); 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 Análise de BigData – Sandro S. Andrade
  24. 24. O Hadoop ● Exemplo – contador de palavras – mapper public static class TokenizerMapper extends Mapper<Object, Text, Text, IntWritable>{ 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 Análise de BigData – Sandro S. Andrade
  25. 25. O Hadoop ● Exemplo – contador de palavras – reducer public static class IntSumReducer extends Reducer<Text,IntWritable,Text,IntWritable> { private IntWritable result = new IntWritable(); public void reduce(Text key, Iterable<IntWritable> 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 Análise de BigData – Sandro S. Andrade
  26. 26. Design Patterns para MapReduce ● Numerical Summarizations ● Inverted Index Summarizations ● Counting with Counters Arquiteturas, Tecnologias e Desafios para Análise de BigData – Sandro S. Andrade ● Filtering ● Top Ten ● Structured to Hierarchical ● Reduce Side Join ● Replicated Join ● … muitos outros
  27. 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 não relacional desenvolvido sobre o HDFS ● Hive: análise de dados através de linguagem SQL-like (HiveQL). Desenvolvido pelo Facebook e Arquiteturas, Tecnologias e Desafios para Análise de BigData – Sandro S. Andrade Netflix
  28. 28. Hadoop – Projetos Relacionados ● Manout: biblioteca escalável para aprendizado de máquina ● Pig: análise de dados com linguagens de alto nível ● Spark: mapreduce de alto desempenho ● Tez: processamento de dados com grafos direcionados acíclicos ● ZooKeeper: coordenação e comunicação em grupo ● Giraph: processamento interativo de grafos Arquiteturas, Tecnologias e Desafios para Análise de BigData – Sandro S. Andrade
  29. 29. Hadoop – Ecossistema ● Commits por empresa: Arquiteturas, Tecnologias e Desafios para Análise de BigData – Sandro S. Andrade
  30. 30. Desafios Atuais ● Garantia de QoS em clusters Hadoop ● Controle e sintonia automática de parâmetros ● Elasticidade automática ● Mecanismos de alto nível (próximos ao negócio) para análise de dados Arquiteturas, Tecnologias e Desafios para Análise de BigData – Sandro S. Andrade
  31. 31. Conclusão ● Escalabilidade como requisito não-funcional primordial ● Foco na acomodação de falhas de hardware ● O MapReduce é interessante, mas limita o projeto e implementação dos jobs ● É necessário formação profissional na área de sistemas distribuídos, arquitetura de software e análise de desempenho ● Análise de BigData como diferencial competitivo nas organizações Arquiteturas, Tecnologias e Desafios para Análise de BigData – Sandro S. Andrade
  32. 32. Obrigado ! Sandro S. Andrade Instituto Federal de Educação, Ciência e Tecnologia (IFBa) Grupo de Pesquisa em Sistemas Distribuídos, Otimização, Redes e Tempo-Real (GSORT) sandroandrade@ifba.edu.br @andradesandro Arquiteturas, Tecnologias e Desafios para Análise de BigData – Sandro S. Andrade

×