SlideShare une entreprise Scribd logo
1  sur  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

Contenu connexe

Tendances

Introduction to Hadoop Technology
Introduction to Hadoop TechnologyIntroduction to Hadoop Technology
Introduction to Hadoop TechnologyManish Borkar
 
Hadoop Overview & Architecture
Hadoop Overview & Architecture  Hadoop Overview & Architecture
Hadoop Overview & Architecture EMC
 
Introduction to NOSQL databases
Introduction to NOSQL databasesIntroduction to NOSQL databases
Introduction to NOSQL databasesAshwani Kumar
 
NoSQL, Base VS ACID e Teorema CAP
NoSQL, Base VS ACID e Teorema CAPNoSQL, Base VS ACID e Teorema CAP
NoSQL, Base VS ACID e Teorema CAPAricelio Souza
 
Big Data Open Source Technologies
Big Data Open Source TechnologiesBig Data Open Source Technologies
Big Data Open Source Technologiesneeraj rathore
 
What Is Hadoop | Hadoop Tutorial For Beginners | Edureka
What Is Hadoop | Hadoop Tutorial For Beginners | EdurekaWhat Is Hadoop | Hadoop Tutorial For Beginners | Edureka
What Is Hadoop | Hadoop Tutorial For Beginners | EdurekaEdureka!
 
Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...
Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...
Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...Leinylson Fontinele
 
Introdução a Redes Neurais Recorrentes
Introdução a Redes Neurais RecorrentesIntrodução a Redes Neurais Recorrentes
Introdução a Redes Neurais RecorrentesMarlesson Santana
 
MongoDB: Advance concepts - Replication and Sharding
MongoDB: Advance concepts - Replication and ShardingMongoDB: Advance concepts - Replication and Sharding
MongoDB: Advance concepts - Replication and ShardingKnoldus Inc.
 
Integrating Big Data Technologies
Integrating Big Data TechnologiesIntegrating Big Data Technologies
Integrating Big Data TechnologiesDATAVERSITY
 
Custom Applications with Spark's RDD: Spark Summit East talk by Tejas Patil
Custom Applications with Spark's RDD: Spark Summit East talk by Tejas PatilCustom Applications with Spark's RDD: Spark Summit East talk by Tejas Patil
Custom Applications with Spark's RDD: Spark Summit East talk by Tejas PatilSpark Summit
 

Tendances (20)

Hadoop
HadoopHadoop
Hadoop
 
Introduction to Hadoop Technology
Introduction to Hadoop TechnologyIntroduction to Hadoop Technology
Introduction to Hadoop Technology
 
Hadoop Overview & Architecture
Hadoop Overview & Architecture  Hadoop Overview & Architecture
Hadoop Overview & Architecture
 
Introduction to NOSQL databases
Introduction to NOSQL databasesIntroduction to NOSQL databases
Introduction to NOSQL databases
 
POO - 16 - Polimorfismo
POO - 16 - PolimorfismoPOO - 16 - Polimorfismo
POO - 16 - Polimorfismo
 
NoSQL, Base VS ACID e Teorema CAP
NoSQL, Base VS ACID e Teorema CAPNoSQL, Base VS ACID e Teorema CAP
NoSQL, Base VS ACID e Teorema CAP
 
Big Data Open Source Technologies
Big Data Open Source TechnologiesBig Data Open Source Technologies
Big Data Open Source Technologies
 
Hadoop
HadoopHadoop
Hadoop
 
Hadoop HDFS
Hadoop HDFSHadoop HDFS
Hadoop HDFS
 
What Is Hadoop | Hadoop Tutorial For Beginners | Edureka
What Is Hadoop | Hadoop Tutorial For Beginners | EdurekaWhat Is Hadoop | Hadoop Tutorial For Beginners | Edureka
What Is Hadoop | Hadoop Tutorial For Beginners | Edureka
 
Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...
Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...
Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...
 
NoSQL databases
NoSQL databasesNoSQL databases
NoSQL databases
 
Introdução a Redes Neurais Recorrentes
Introdução a Redes Neurais RecorrentesIntrodução a Redes Neurais Recorrentes
Introdução a Redes Neurais Recorrentes
 
MongoDB: Advance concepts - Replication and Sharding
MongoDB: Advance concepts - Replication and ShardingMongoDB: Advance concepts - Replication and Sharding
MongoDB: Advance concepts - Replication and Sharding
 
A Linguagem sql
A Linguagem sqlA Linguagem sql
A Linguagem sql
 
Integrating Big Data Technologies
Integrating Big Data TechnologiesIntegrating Big Data Technologies
Integrating Big Data Technologies
 
Apache hive introduction
Apache hive introductionApache hive introduction
Apache hive introduction
 
Páginas dinâmicas
Páginas dinâmicasPáginas dinâmicas
Páginas dinâmicas
 
Custom Applications with Spark's RDD: Spark Summit East talk by Tejas Patil
Custom Applications with Spark's RDD: Spark Summit East talk by Tejas PatilCustom Applications with Spark's RDD: Spark Summit East talk by Tejas Patil
Custom Applications with Spark's RDD: Spark Summit East talk by Tejas Patil
 
Hadoop Ecosystem
Hadoop EcosystemHadoop Ecosystem
Hadoop Ecosystem
 

En vedette

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
 

En vedette (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
 

Similaire à 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
 

Similaire à 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
HadoopHadoop
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
 

Plus de Bruno Dadalt Zambiazi

Plus 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