Implementando soluções em Big Data com Apache Hadoop/Hive

838 visualizações

Publicada em

Palestra ministrada no uaijugclodday, link http://www.uaijugcloudday.com.br/

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

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
838
No SlideShare
0
A partir de incorporações
0
Número de incorporações
4
Ações
Compartilhamentos
0
Downloads
20
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Implementando soluções em Big Data com Apache Hadoop/Hive

  1. 1. Implementando soluções em Big Data com Apache Hadoop/Hive Carlos Eduardo Dantas carloseduardodantas@iftm.edu.br http://carloseduardoxp.wordpress.com “A melhor maneira de fugir do seu problema é resolvê-lo” – Robert Anthony
  2. 2. Quem sou? • Professor Efetivo no IFTM Campus Uberlândia-Centro; • Projetos bem sucedidos em alguns dos principais clientes de Uberlândia e região.
  3. 3. IFTM Campus Uberlândia Centro • Cursos técnicos, graduação e pós- graduação gratuitos; • Mini-cursos e eventos de curta duração abertos à comunidade; • http://www.iftm.edu.br
  4. 4. Novos ventos – era da informação • Volumes expressivos de dados gerados diariamente (ordem de petabytes); • Várias fontes heterogêneas, com milhões de usuários.
  5. 5. Novos ventos – era da informação • Sistemas convencionais de armazenamento e processamento de dados não são suficientes.
  6. 6. Novos ventos – era da informação • Novas técnicas foram criadas e “white papers” publicados.
  7. 7. Big Data • Termo usado para referenciar conjuntos de dados com características extremas.
  8. 8. Big Data - Volume • 40 bilhões de fotos; • 350 milhões de usuários ativos; • 250 milhões de uploads diários; • 2008 – 200GB de dados diários; • 2014 – 15TB de dados diários.
  9. 9. Big Data - Velocidade Pesquisas com “Search Assist” (terabytes de log por dia): • Solução convencional: 26 dias; • Solução noSql(Hadoop): 20 minutos.
  10. 10. Big Data - Variedade Suporta nativamente: • Dados estruturados; • Dados semi Estruturados; • Dados não estruturados.
  11. 11. Alternativas? • Data Warehouse; • Arquiteturas MPP; • Soluções noSql como Apache Hadoop.
  12. 12. Apache Hadoop • Framework open-source escrito em Java; • Armazena e processa conjuntos de dados em larga escala; • Distribui dados e processamento para múltiplos servidores, consolidando resultados.
  13. 13. Apache Hadoop “Até 2018, metade dos dados a serem processados no mundo, serão feitos pelo Hadoop”.
  14. 14. Hadoop - módulos
  15. 15. Armazenamento HDFS • Sistema de Arquivos distribuído; • Projetado para processar em lote; • Altamente tolerante a falhas.
  16. 16. Armazenamento HDFS • Estrutura mestre/escravo.
  17. 17. Processamento MapReduce • “Dividir para conquistar”; • Abstrai a computação paralela em apenas duas funções: map e reduce;
  18. 18. Processamento MapReduce • Map Funcional: map({1,2,3,4}, (* 2)) -> {2,4,6,8} • Reduce Funcional: reduce({2,4,6,8}, (*)) -> {384} • Logo: reduce (map({1,2,3,4}, (* 2)), (*)) - > {384}
  19. 19. Processamento MapReduce • Divide o arquivo de entrada em blocos; • Copia o programa que contém as funções Map e Reduce para o cluster
  20. 20. Processamento MapReduce • O mestre orquestra os escravos e atribui a cada um uma tarefa map ou reduce
  21. 21. Processamento MapReduce • Cada escravo que executa a tarefa map lê um conteúdo do bloco, definido pelo processo mestre; • Resultado em memória.
  22. 22. Processamento MapReduce • Periodicamente os pares intermediários são gravados em arquivos; • O processo mestre os encaminha para os escravos que realizam reduce;
  23. 23. Processamento MapReduce • Mestre envia ao processo escravo o endereço dos arquivos intermediários; • O processo escravo recupera remotamente o conjunto de pares e inicia o ordenamento e agrupamento.
  24. 24. Processamento MapReduce • Executa a função de redução, gerando um arquivo de saída para cada nó escravo que executou a redução.
  25. 25. Processamento MapReduce
  26. 26. Processamento MapReduce - WordCount • Problema da contagem da frequência das palavras, em uma base de documentos.
  27. 27. Processamento MapReduce - WordCount
  28. 28. Demais aplicações • Indexação para busca de palavras em páginas web; • Organização de notícias; • Processamento de imagens de satélites; • Processamento de linguagem natural do tradutor
  29. 29. Problemas... • Programar diretamente com Map/Reduce não é intuitivo; • Relativa complexidade de comandos para executar consultas nos arquivos.
  30. 30. Apache Hive • Executa tarefas de Map/Reduce em arquivos físicos no HDFS; • Linguagem de consulta ad hoc (HiveQL), bastante parecida com SQL; • As estruturas de tabelas não existem fisicamente (apenas nos arquivos de metadados do Hive).
  31. 31. Apache Hive
  32. 32. Consulta Hive WordCount
  33. 33. Dúvidas?

×