SlideShare uma empresa Scribd logo
1 de 24
HADOOP / MapReduce
Bruno Dadalt Zambiazi
Raniéri Geroldi
• Framework Java mantido pela Fundação Apache;
• Solução open-source para trabalhar com big data;
• Criado em 2005 com apoio de grandes empresas como
  Yahoo!




O que é?
• Desenvolvimento de aplicações distribuídas;
• Processamento de grandes volumes de dados.




Serve para...?
• A partir de outro projeto da Apache chamado “Nutch”.
  • Mecanismo para pesquisas web.
• Desenvolvedores encontravam dificuldades para
  realização de grandes processamentos em tempos
  eficientes;
• Doug Cutting foi o principal responsável pelo projeto;
• Yahoo! disponibilizou uma equipe de programadores para
  ajudar no desenvolvimento da ferramenta.




Como surgiu?
• Indicado para organizações que necessitem de análise de
  grandes volumes de dados;
• Áreas:
  •   Astronomia;
  •   Pesquisas científicas e militares;
  •   Meteorologia;
  •   Redes sociais;
  •   Pesquisa em internet;
  •   Mercado financeiro;
  •   E-commerce.



Onde utilizar?
•   Redução de custos;
•   Boa documentação;
•   Comunidade ativa;
•   Adesão por parte de grandes empresas.

• Estimativa:
    • Em cinco anos, metade dos dados digitais serão processados
      pelo Hadoop. (Fonte: Hortonworks, subsidiária do Yahoo!)




E os benefícios?
• Empresas:
  • Adobe, Amazon, eBay, Google, IBM, LinkedIn, Twitter

• Lista completa em:
  • http://wiki.apache.org/hadoop/PoweredBy

• Principais cases: Facebook e Yahoo!




Quem está usando?
• Tem múltiplos clusters com Hadoop;
• Um dos maiores com 2.500 núcleos de CPU e 1 PB de
  espaço em disco;
• Diariamente, carrega 250 GB de dados para o sistema de
  arquivos do Hadoop;
• Possui centenas de jobs do Hadoop sendo executadas
  contra esse conjunto de dados;
• Principal objetivo: recomendações (amigos, interesses,
  atividades, etc).



Facebook??
• Principal objetivo: recurso de pesquisa Search Assist
  (sugestões de resultado em tempo real);
• Resultado do Search Assist é gerado pela análise de
  terabytes de arquivos de log;
• Tempo de geração da base do Search Assist:
  • Com ferramentas tradicionais: 26 dias;
  • Com o Hadoop: 20 minutos.




Yahoo!?
• Composto por três subprojetos:

  • Hadoop Common: utilitários comuns aos demais
    subprojetos;

  • Hadoop Distributed File System (HDFS): é o sistema de
    armazenamento de arquivos;

  • Hadoop MapReduce: é quem possibilita o processamento
    distribuído.



E como funciona?
• Execução de um procedimento com Hadoop:

  1. Carregar os dados no HDFS;
  2. Realizar as operações MapReduce;
  3. Recuperar os resultados no HDFS.




Resumindo...
• Principal tarefa: armazenamento de dados;
• É o sistema de arquivos do Hadoop;
• Divide os arquivos e os replica para diferentes máquinas
  do cluster;
• Desenvolvido em Java;
• Pode ser executado em máquinas com hardwares comuns;
• Funciona sob o modelo master/workers.




HDFS          O que é?
• É o master (nó principal);
• Gerencia o sistema de arquivos e o acesso a eles.
  • Conhece todos os Datanodes e onde se encontram cada
    pedaço de determinado arquivo.
• Representa o JobTracker, serviço que delega e monitora o
  status das tarefas.
  • Permite reexecução de tarefas que falharam.




HDFS         Namenode
• É o worker, nó participante;
• Armazena pedaços dos arquivos.
  • Um arquivo de entrada é dividido em blocos, que são
    replicados para diversos Datanodes;
  • Cada “pedaço” varia entre 64 MB e 128 MB.
• Possui um TaskTracker que executa as tarefas delegadas
  pelo JobTracker (do Namenode).




HDFS         Datanode
HDFS   Namenode / Datanode
• API Java;
• Interface de linha de comando:

Principais comandos
Ajuda:                     ./hadoop fs -help

Criação de diretório:      ./hadoop fs –mkdir my_folder

Listagem de arquivos:      ./hadoop fs –ls my_folder

Envio de arquivo:          ./hadoop fs –put /tmp/my_file.txt my_folder

Visualização de arquivo:   ./hadoop fs –cat my_folder/my_file.txt

Busca de arquivo:          ./hadoop fs –get my_folder/my_file.txt

Remoção de diretório:      ./hadoop fs –rmr my_folder




HDFS                    Como utilizar?
• Principal tarefa: processamento paralelo;
• Simplifica o processamento de dados em grande escala;
• Pode ser utilizado tanto sobre sistemas de arquivos
  (dados não-estruturado) quanto sobre bancos de dados
  (dados estruturados);

• Processamento composto de duas fases:
  • Map (mapear)
  • Reduce (reduzir, simplifcar)



MapReduce                      O que é?
• Master recebe a entrada e divide em problemas menores;
• Cada “subproblema” é então distribuído para algum
  worker;
• Os workers trabalham no subproblema, gravam seu
  resultado no disco local e depois enviam o resultado
  através da rede para o master;
• A saída é composta por pares de informação formados
  por chave-valor.




MapReduce                   A fase Map
• O master recebe a resposta de todos os nós participantes
  do processamento;
• As respostas são, então, combinadas de alguma forma
  para que se obtenha a resposta do problema original.




MapReduce                     A fase Reduce
192.168.1.102, 03-01-2012, 10:30
  Map          192.168.1.100, 11-01-2012, 11:47
               192.168.1.102, 11-01-2012, 13:32       Entrada
               192.168.1.89, 13-01-2012, 08:27
               192.168.1.102, 14-01-2012, 16:01



 192.168.1.102, 1
 192.168.1.100, 1
 192.168.1.102, 1
                                             192.168.1.102, 3
 192.168.1.89, 1
                                             192.168.1.100, 1
 192.168.1.102, 1          Reduce
                                             192.168.1.89, 1




MapReduce                      Exemplo
• Três possibilidades de comportamento do Hadoop:

  • Local: é executado em apenas uma JVM, sendo a
    configuração adequada em tempo de desenvolvimento;

  • Pseudo-distribuído: serviços background do Hadoop
    executam localmente, simulando um cluster;

  • Totalmente distribuído: serviços background do Hadoop
    executam num cluster real.



Configuração
• Possuem o Hadoop como mecanismo central:

  • Cassandra: sistema de banco de dados distribuído;

  • HBase: sistema de banco de dados distribuído;

  • Hive: infraestrutura de data warehouse que transforma
    consultas HiveQL (dialeto SQL) em tarefas MapReduce;

  • Pig: linguagem de alto nível para simplificar e agilizar a
    criação de tarefas de análise de dados.


Projetos Apache
Hadoop é feito para criar soluções para desenvolvedores
que por acaso têm muitos dados para armazenar, ou muitos
dados para analisar, ou muitas máquinas para coordenar, e
que não têm tempo, habilidade, ou vontade de se tornar um
 especialista em sistemas distribuídos a ponto de preparar
       uma infraestrutura para lidar com tudo isso.

               Tom White, Hadoop – The Definitive Guide




Definição
• Big Data na plataforma Java. Revista Java Magazine,
  edição nº 103
• http://hadoop.apache.org/common/docs/r1.0.3/cluster_set
  up.html
• http://www.michael-noll.com/tutorials/running-hadoop-
  on-ubuntu-linux-multi-node-cluster/
• http://www.ibm.com/developerworks/br/cloud/library/l-
  hadoop-1/?ca=drs-
• http://forum.imasters.com.br/topic/411551-
  processamento-de-dados-distribuidos-com-hadoop-parte-
  02-indo-mais-longe/


Referências

Mais conteúdo relacionado

Mais procurados

Processo Unificado(RUP)
Processo Unificado(RUP)Processo Unificado(RUP)
Processo Unificado(RUP)elliando dias
 
Banco de Dados I - Aula Prática - Criando o Primeiro Banco
Banco de Dados I - Aula Prática - Criando o Primeiro BancoBanco de Dados I - Aula Prática - Criando o Primeiro Banco
Banco de Dados I - Aula Prática - Criando o Primeiro BancoLeinylson Fontinele
 
Banco de Dados I Aula 02 - Introdução aos Bancos de Dados
Banco de Dados I  Aula 02 - Introdução aos Bancos de DadosBanco de Dados I  Aula 02 - Introdução aos Bancos de Dados
Banco de Dados I Aula 02 - Introdução aos Bancos de DadosLeinylson Fontinele
 
Hadoop Distributed File System
Hadoop Distributed File SystemHadoop Distributed File System
Hadoop Distributed File Systemelliando dias
 
Hadoop & Cloudera Workshop
Hadoop & Cloudera WorkshopHadoop & Cloudera Workshop
Hadoop & Cloudera WorkshopSerkan Sakınmaz
 
Hive + Tez: A Performance Deep Dive
Hive + Tez: A Performance Deep DiveHive + Tez: A Performance Deep Dive
Hive + Tez: A Performance Deep DiveDataWorks Summit
 
Introdução à computação - Aula 11 - Banco de Dados (Definições gerais, SGBD)
Introdução à computação - Aula 11 - Banco de Dados (Definições gerais, SGBD)Introdução à computação - Aula 11 - Banco de Dados (Definições gerais, SGBD)
Introdução à computação - Aula 11 - Banco de Dados (Definições gerais, SGBD)Leinylson Fontinele
 
Árvores Balanceadas AVL
Árvores Balanceadas AVLÁrvores Balanceadas AVL
Árvores Balanceadas AVLDaniel Maia
 
Introduction to Hadoop and Hadoop component
Introduction to Hadoop and Hadoop component Introduction to Hadoop and Hadoop component
Introduction to Hadoop and Hadoop component rebeccatho
 
Modelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e HierárquicoModelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e Hierárquicorosimaracorsino
 
Seminar Presentation Hadoop
Seminar Presentation HadoopSeminar Presentation Hadoop
Seminar Presentation HadoopVarun Narang
 
Banco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DERBanco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DERRangel Javier
 
Apostila de Banco dados
Apostila de Banco dadosApostila de Banco dados
Apostila de Banco dadosFernando Palma
 

Mais procurados (20)

Processo Unificado(RUP)
Processo Unificado(RUP)Processo Unificado(RUP)
Processo Unificado(RUP)
 
Banco de Dados I - Aula Prática - Criando o Primeiro Banco
Banco de Dados I - Aula Prática - Criando o Primeiro BancoBanco de Dados I - Aula Prática - Criando o Primeiro Banco
Banco de Dados I - Aula Prática - Criando o Primeiro Banco
 
Banco de Dados I Aula 02 - Introdução aos Bancos de Dados
Banco de Dados I  Aula 02 - Introdução aos Bancos de DadosBanco de Dados I  Aula 02 - Introdução aos Bancos de Dados
Banco de Dados I Aula 02 - Introdução aos Bancos de Dados
 
Hadoop Distributed File System
Hadoop Distributed File SystemHadoop Distributed File System
Hadoop Distributed File System
 
Servidor apache
Servidor apacheServidor apache
Servidor apache
 
Hadoop & Cloudera Workshop
Hadoop & Cloudera WorkshopHadoop & Cloudera Workshop
Hadoop & Cloudera Workshop
 
Hive + Tez: A Performance Deep Dive
Hive + Tez: A Performance Deep DiveHive + Tez: A Performance Deep Dive
Hive + Tez: A Performance Deep Dive
 
Introdução à computação - Aula 11 - Banco de Dados (Definições gerais, SGBD)
Introdução à computação - Aula 11 - Banco de Dados (Definições gerais, SGBD)Introdução à computação - Aula 11 - Banco de Dados (Definições gerais, SGBD)
Introdução à computação - Aula 11 - Banco de Dados (Definições gerais, SGBD)
 
6.hive
6.hive6.hive
6.hive
 
Árvores Balanceadas AVL
Árvores Balanceadas AVLÁrvores Balanceadas AVL
Árvores Balanceadas AVL
 
Hadoop 1 vs hadoop2
Hadoop 1 vs hadoop2Hadoop 1 vs hadoop2
Hadoop 1 vs hadoop2
 
Introduction to Hadoop and Hadoop component
Introduction to Hadoop and Hadoop component Introduction to Hadoop and Hadoop component
Introduction to Hadoop and Hadoop component
 
Hadoop technology
Hadoop technologyHadoop technology
Hadoop technology
 
Hadoop ppt2
Hadoop ppt2Hadoop ppt2
Hadoop ppt2
 
Hadoop hdfs
Hadoop hdfsHadoop hdfs
Hadoop hdfs
 
Modelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e HierárquicoModelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e Hierárquico
 
Seminar Presentation Hadoop
Seminar Presentation HadoopSeminar Presentation Hadoop
Seminar Presentation Hadoop
 
Banco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DERBanco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DER
 
Processamento paralelo
Processamento paraleloProcessamento paralelo
Processamento paralelo
 
Apostila de Banco dados
Apostila de Banco dadosApostila de Banco dados
Apostila de Banco dados
 

Destaque

Análise de ferramentas para gestão de regras de negócio em sistemas de inform...
Análise de ferramentas para gestão de regras de negócio em sistemas de inform...Análise de ferramentas para gestão de regras de negócio em sistemas de inform...
Análise de ferramentas para gestão de regras de negócio em sistemas de inform...Bruno Dadalt Zambiazi
 
Rlm e estatística analista sefaz pi 2015
Rlm e estatística analista sefaz pi 2015Rlm e estatística analista sefaz pi 2015
Rlm e estatística analista sefaz pi 2015MAURO VITORIANO SANTOS
 

Destaque (6)

Análise de ferramentas para gestão de regras de negócio em sistemas de inform...
Análise de ferramentas para gestão de regras de negócio em sistemas de inform...Análise de ferramentas para gestão de regras de negócio em sistemas de inform...
Análise de ferramentas para gestão de regras de negócio em sistemas de inform...
 
O pós-graduando da era digital
O pós-graduando da era digitalO pós-graduando da era digital
O pós-graduando da era digital
 
Edi apresentacao ad1
Edi apresentacao ad1Edi apresentacao ad1
Edi apresentacao ad1
 
Rlm e estatística analista sefaz pi 2015
Rlm e estatística analista sefaz pi 2015Rlm e estatística analista sefaz pi 2015
Rlm e estatística analista sefaz pi 2015
 
Monografia leando
Monografia leandoMonografia leando
Monografia leando
 
Os acordos do final da guerra & a
Os acordos do final da guerra & aOs acordos do final da guerra & a
Os acordos do final da guerra & a
 

Semelhante a Hadoop

Filesystem distribuído com hadoop!!!
Filesystem distribuído com hadoop!!! Filesystem distribuído com hadoop!!!
Filesystem distribuído com hadoop!!! Alessandro Binhara
 
Palestra: Big Data Open Source com Hadoop - FLISOL 2014 - Curitiba
Palestra: Big Data Open Source com Hadoop - FLISOL 2014 - CuritibaPalestra: Big Data Open Source com Hadoop - FLISOL 2014 - Curitiba
Palestra: Big Data Open Source com Hadoop - FLISOL 2014 - CuritibaMarcio Junior Vieira
 
Big Data Open Source com Hadoop
Big Data Open Source com HadoopBig Data Open Source com Hadoop
Big Data Open Source com HadoopAmbiente Livre
 
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
 
Hadoop - primeiros passos
Hadoop - primeiros passosHadoop - primeiros passos
Hadoop - primeiros passosrhpinotti
 
Big data para programadores convencionais
Big data para programadores convencionaisBig data para programadores convencionais
Big data para programadores convencionaisRoberto Oliveira
 
Ciclo 4 - Instalação do Hadoop
Ciclo 4 - Instalação do HadoopCiclo 4 - Instalação do Hadoop
Ciclo 4 - Instalação do HadoopJeane Menegueli
 
Pentaho com Hadoop – O Canivete Suíço do Cientistas de Dados para Big Data An...
Pentaho com Hadoop – O Canivete Suíço do Cientistas de Dados para Big Data An...Pentaho com Hadoop – O Canivete Suíço do Cientistas de Dados para Big Data An...
Pentaho com Hadoop – O Canivete Suíço do Cientistas de Dados para Big Data An...Ambiente Livre
 
OS CINCO Vs DO BIG DATA
OS CINCO Vs DO BIG DATAOS CINCO Vs DO BIG DATA
OS CINCO Vs DO BIG DATALeonardo Dias
 
Hadoop - TDC 2012
Hadoop - TDC 2012Hadoop - TDC 2012
Hadoop - TDC 2012wchevreuil
 
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
 
Tecnologias para mineração de dados nas nuvens
Tecnologias para mineração de dados nas nuvensTecnologias para mineração de dados nas nuvens
Tecnologias para mineração de dados nas nuvensAlessandro Binhara
 
Hadoop - Mãos à massa! Qcon2014
Hadoop - Mãos à massa! Qcon2014Hadoop - Mãos à massa! Qcon2014
Hadoop - Mãos à massa! Qcon2014Thiago Santiago
 
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
 

Semelhante a Hadoop (20)

Filesystem distribuído com hadoop!!!
Filesystem distribuído com hadoop!!! Filesystem distribuído com hadoop!!!
Filesystem distribuído com hadoop!!!
 
Treinamento hadoop - dia3
Treinamento hadoop - dia3Treinamento hadoop - dia3
Treinamento hadoop - dia3
 
Palestra: Big Data Open Source com Hadoop - FLISOL 2014 - Curitiba
Palestra: Big Data Open Source com Hadoop - FLISOL 2014 - CuritibaPalestra: Big Data Open Source com Hadoop - FLISOL 2014 - Curitiba
Palestra: Big Data Open Source com Hadoop - FLISOL 2014 - Curitiba
 
Big Data Open Source com Hadoop
Big Data Open Source com HadoopBig Data Open Source com Hadoop
Big Data Open Source com Hadoop
 
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
 
Hadoop - primeiros passos
Hadoop - primeiros passosHadoop - primeiros passos
Hadoop - primeiros passos
 
Hadoop
HadoopHadoop
Hadoop
 
Big data para programadores convencionais
Big data para programadores convencionaisBig data para programadores convencionais
Big data para programadores convencionais
 
Ciclo 4 - Instalação do Hadoop
Ciclo 4 - Instalação do HadoopCiclo 4 - Instalação do Hadoop
Ciclo 4 - Instalação do Hadoop
 
Pentaho com Hadoop – O Canivete Suíço do Cientistas de Dados para Big Data An...
Pentaho com Hadoop – O Canivete Suíço do Cientistas de Dados para Big Data An...Pentaho com Hadoop – O Canivete Suíço do Cientistas de Dados para Big Data An...
Pentaho com Hadoop – O Canivete Suíço do Cientistas de Dados para Big Data An...
 
OS CINCO Vs DO BIG DATA
OS CINCO Vs DO BIG DATAOS CINCO Vs DO BIG DATA
OS CINCO Vs DO BIG DATA
 
Hadoop - TDC 2012
Hadoop - TDC 2012Hadoop - TDC 2012
Hadoop - TDC 2012
 
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
 
Treinamento hadoop - dia4
Treinamento hadoop - dia4Treinamento hadoop - dia4
Treinamento hadoop - dia4
 
Tecnologias para mineração de dados nas nuvens
Tecnologias para mineração de dados nas nuvensTecnologias para mineração de dados nas nuvens
Tecnologias para mineração de dados nas nuvens
 
MapReduce
MapReduceMapReduce
MapReduce
 
Hadoop - Mãos à massa! Qcon2014
Hadoop - Mãos à massa! Qcon2014Hadoop - Mãos à massa! Qcon2014
Hadoop - Mãos à massa! Qcon2014
 
Big Data, JVM e Redes Sociais
Big Data, JVM e Redes SociaisBig Data, JVM e Redes Sociais
Big Data, JVM e Redes Sociais
 
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
 
Seminário Hadoop
Seminário HadoopSeminário Hadoop
Seminário Hadoop
 

Mais de Bruno Dadalt Zambiazi

Mais de Bruno Dadalt Zambiazi (7)

Os porquês do português
Os porquês do portuguêsOs porquês do português
Os porquês do português
 
Hibernate
HibernateHibernate
Hibernate
 
DB2 Express-C 9.5
DB2 Express-C 9.5DB2 Express-C 9.5
DB2 Express-C 9.5
 
Avalição Heurística de aplicativos Desktop e Web
Avalição Heurística de aplicativos Desktop e WebAvalição Heurística de aplicativos Desktop e Web
Avalição Heurística de aplicativos Desktop e Web
 
DB2 Express-C
DB2 Express-CDB2 Express-C
DB2 Express-C
 
[Engenharia de Software] Marquivos.com
[Engenharia de Software] Marquivos.com[Engenharia de Software] Marquivos.com
[Engenharia de Software] Marquivos.com
 
[Engenharia de Software] Marquivos.com
[Engenharia de Software] Marquivos.com[Engenharia de Software] Marquivos.com
[Engenharia de Software] Marquivos.com
 

Hadoop

  • 1. HADOOP / MapReduce Bruno Dadalt Zambiazi Raniéri Geroldi
  • 2. • Framework Java mantido pela Fundação Apache; • Solução open-source para trabalhar com big data; • Criado em 2005 com apoio de grandes empresas como Yahoo! O que é?
  • 3. • Desenvolvimento de aplicações distribuídas; • Processamento de grandes volumes de dados. Serve para...?
  • 4. • A partir de outro projeto da Apache chamado “Nutch”. • Mecanismo para pesquisas web. • Desenvolvedores encontravam dificuldades para realização de grandes processamentos em tempos eficientes; • Doug Cutting foi o principal responsável pelo projeto; • Yahoo! disponibilizou uma equipe de programadores para ajudar no desenvolvimento da ferramenta. Como surgiu?
  • 5. • Indicado para organizações que necessitem de análise de grandes volumes de dados; • Áreas: • Astronomia; • Pesquisas científicas e militares; • Meteorologia; • Redes sociais; • Pesquisa em internet; • Mercado financeiro; • E-commerce. Onde utilizar?
  • 6. Redução de custos; • Boa documentação; • Comunidade ativa; • Adesão por parte de grandes empresas. • Estimativa: • Em cinco anos, metade dos dados digitais serão processados pelo Hadoop. (Fonte: Hortonworks, subsidiária do Yahoo!) E os benefícios?
  • 7. • Empresas: • Adobe, Amazon, eBay, Google, IBM, LinkedIn, Twitter • Lista completa em: • http://wiki.apache.org/hadoop/PoweredBy • Principais cases: Facebook e Yahoo! Quem está usando?
  • 8. • Tem múltiplos clusters com Hadoop; • Um dos maiores com 2.500 núcleos de CPU e 1 PB de espaço em disco; • Diariamente, carrega 250 GB de dados para o sistema de arquivos do Hadoop; • Possui centenas de jobs do Hadoop sendo executadas contra esse conjunto de dados; • Principal objetivo: recomendações (amigos, interesses, atividades, etc). Facebook??
  • 9. • Principal objetivo: recurso de pesquisa Search Assist (sugestões de resultado em tempo real); • Resultado do Search Assist é gerado pela análise de terabytes de arquivos de log; • Tempo de geração da base do Search Assist: • Com ferramentas tradicionais: 26 dias; • Com o Hadoop: 20 minutos. Yahoo!?
  • 10. • Composto por três subprojetos: • Hadoop Common: utilitários comuns aos demais subprojetos; • Hadoop Distributed File System (HDFS): é o sistema de armazenamento de arquivos; • Hadoop MapReduce: é quem possibilita o processamento distribuído. E como funciona?
  • 11. • Execução de um procedimento com Hadoop: 1. Carregar os dados no HDFS; 2. Realizar as operações MapReduce; 3. Recuperar os resultados no HDFS. Resumindo...
  • 12. • Principal tarefa: armazenamento de dados; • É o sistema de arquivos do Hadoop; • Divide os arquivos e os replica para diferentes máquinas do cluster; • Desenvolvido em Java; • Pode ser executado em máquinas com hardwares comuns; • Funciona sob o modelo master/workers. HDFS O que é?
  • 13. • É o master (nó principal); • Gerencia o sistema de arquivos e o acesso a eles. • Conhece todos os Datanodes e onde se encontram cada pedaço de determinado arquivo. • Representa o JobTracker, serviço que delega e monitora o status das tarefas. • Permite reexecução de tarefas que falharam. HDFS Namenode
  • 14. • É o worker, nó participante; • Armazena pedaços dos arquivos. • Um arquivo de entrada é dividido em blocos, que são replicados para diversos Datanodes; • Cada “pedaço” varia entre 64 MB e 128 MB. • Possui um TaskTracker que executa as tarefas delegadas pelo JobTracker (do Namenode). HDFS Datanode
  • 15. HDFS Namenode / Datanode
  • 16. • API Java; • Interface de linha de comando: Principais comandos Ajuda: ./hadoop fs -help Criação de diretório: ./hadoop fs –mkdir my_folder Listagem de arquivos: ./hadoop fs –ls my_folder Envio de arquivo: ./hadoop fs –put /tmp/my_file.txt my_folder Visualização de arquivo: ./hadoop fs –cat my_folder/my_file.txt Busca de arquivo: ./hadoop fs –get my_folder/my_file.txt Remoção de diretório: ./hadoop fs –rmr my_folder HDFS Como utilizar?
  • 17. • Principal tarefa: processamento paralelo; • Simplifica o processamento de dados em grande escala; • Pode ser utilizado tanto sobre sistemas de arquivos (dados não-estruturado) quanto sobre bancos de dados (dados estruturados); • Processamento composto de duas fases: • Map (mapear) • Reduce (reduzir, simplifcar) MapReduce O que é?
  • 18. • Master recebe a entrada e divide em problemas menores; • Cada “subproblema” é então distribuído para algum worker; • Os workers trabalham no subproblema, gravam seu resultado no disco local e depois enviam o resultado através da rede para o master; • A saída é composta por pares de informação formados por chave-valor. MapReduce A fase Map
  • 19. • O master recebe a resposta de todos os nós participantes do processamento; • As respostas são, então, combinadas de alguma forma para que se obtenha a resposta do problema original. MapReduce A fase Reduce
  • 20. 192.168.1.102, 03-01-2012, 10:30 Map 192.168.1.100, 11-01-2012, 11:47 192.168.1.102, 11-01-2012, 13:32 Entrada 192.168.1.89, 13-01-2012, 08:27 192.168.1.102, 14-01-2012, 16:01 192.168.1.102, 1 192.168.1.100, 1 192.168.1.102, 1 192.168.1.102, 3 192.168.1.89, 1 192.168.1.100, 1 192.168.1.102, 1 Reduce 192.168.1.89, 1 MapReduce Exemplo
  • 21. • Três possibilidades de comportamento do Hadoop: • Local: é executado em apenas uma JVM, sendo a configuração adequada em tempo de desenvolvimento; • Pseudo-distribuído: serviços background do Hadoop executam localmente, simulando um cluster; • Totalmente distribuído: serviços background do Hadoop executam num cluster real. Configuração
  • 22. • Possuem o Hadoop como mecanismo central: • Cassandra: sistema de banco de dados distribuído; • HBase: sistema de banco de dados distribuído; • Hive: infraestrutura de data warehouse que transforma consultas HiveQL (dialeto SQL) em tarefas MapReduce; • Pig: linguagem de alto nível para simplificar e agilizar a criação de tarefas de análise de dados. Projetos Apache
  • 23. Hadoop é feito para criar soluções para desenvolvedores que por acaso têm muitos dados para armazenar, ou muitos dados para analisar, ou muitas máquinas para coordenar, e que não têm tempo, habilidade, ou vontade de se tornar um especialista em sistemas distribuídos a ponto de preparar uma infraestrutura para lidar com tudo isso. Tom White, Hadoop – The Definitive Guide Definição
  • 24. • Big Data na plataforma Java. Revista Java Magazine, edição nº 103 • http://hadoop.apache.org/common/docs/r1.0.3/cluster_set up.html • http://www.michael-noll.com/tutorials/running-hadoop- on-ubuntu-linux-multi-node-cluster/ • http://www.ibm.com/developerworks/br/cloud/library/l- hadoop-1/?ca=drs- • http://forum.imasters.com.br/topic/411551- processamento-de-dados-distribuidos-com-hadoop-parte- 02-indo-mais-longe/ Referências