SlideShare uma empresa Scribd logo
1 de 15
João Bachiega Jr. / Rodrigo Pinheiro de Almeida
Disciplina: Tópicos em Sistemas de Computação – Computação em Nuvem
Trabalho Prático 01
Implementação do Modelo
Hadoop MapReduce
João Bachiega Jr. / Rodrigo Pinheiro de Almeida
Disciplina: Tópicos em Sistemas de Computação – Computação em Nuvem
Agenda
• Ferramentas utilizadas
• Linguagens utilizadas
• Descrição Teórica da Solução
• Descrição Prática da Solução
• Desafios
• Referências
João Bachiega Jr. / Rodrigo Pinheiro de Almeida
Disciplina: Tópicos em Sistemas de Computação – Computação em Nuvem
Ferramentas utilizadas
João Bachiega Jr. / Rodrigo Pinheiro de Almeida
Disciplina: Tópicos em Sistemas de Computação – Computação em Nuvem
Ferramentas utilizadas
Sucesso
Falha
Cluster EMR
João Bachiega Jr. / Rodrigo Pinheiro de Almeida
Disciplina: Tópicos em Sistemas de Computação – Computação em Nuvem
Ferramentas utilizadas
Ciclo de Vida - Cluster
João Bachiega Jr. / Rodrigo Pinheiro de Almeida
Disciplina: Tópicos em Sistemas de Computação – Computação em Nuvem
Linguagens utilizadas
João Bachiega Jr. / Rodrigo Pinheiro de Almeida
Disciplina: Tópicos em Sistemas de Computação – Computação em Nuvem
Descrição Teórica da Solução
João Bachiega Jr. / Rodrigo Pinheiro de Almeida
Disciplina: Tópicos em Sistemas de Computação – Computação em Nuvem
Descrição Teórica da Solução
Consultas elaboradas:
I. Valor total de benefícios pagos por estado;
II. Município que recebeu o maior valor de benefícios;
III. Valor total de benefícios pagos por estado da região nordeste;
IV.Verificar se algum servidor civil ou militar do Executivo Federal é beneficiário do Bolsa Família.
(execução da função join entre a base de dados da Bolsa Família e a base de dados de
situação funcional e remuneração dos servidores civis e militares)
João Bachiega Jr. / Rodrigo Pinheiro de Almeida
Disciplina: Tópicos em Sistemas de Computação – Computação em Nuvem
Descrição Teórica da Solução
Driver: Define os diretórios de entrada e saída de dados e controla a execução do job.
Mapper: mapeia pares de chave/valor de entrada para um conjunto de pares de
chave/valor intermediário.
Reducer: reduz um conjunto de valores intermediários que compartilham uma chave para
um conjunto menor de valores. Produz um arquivo texto contendo o resultado da
consulta realizada.
João Bachiega Jr. / Rodrigo Pinheiro de Almeida
Disciplina: Tópicos em Sistemas de Computação – Computação em Nuvem
Desafios
• Escolha do Provedor
• Custos
• Execução na Nuvem
João Bachiega Jr. / Rodrigo Pinheiro de Almeida
Disciplina: Tópicos em Sistemas de Computação – Computação em Nuvem
Desafios
João Bachiega Jr. / Rodrigo Pinheiro de Almeida
Disciplina: Tópicos em Sistemas de Computação – Computação em Nuvem
Desafios
Problema Detalhe Solução
Falta de
entendimento do
serviço de EMR
Inicialmente estávamos criando clusters via a API e Console
Web iniciando o processamento dos Steps logo após
configuração, porém os Jobs manipulavam o sistema de
arquivos Hdfs ocasionando problemas no momento de
execução no EMR.
Remover qualquer
manipulação direta do Hdfs.
Diferença entre
regiões Aws
Diferenças das regiões entre o Amazon S3 e EMR
ocasionavam erros de permissões.
Configurar a mesma região
para ambos os serviços.
Versão do Hadoop Inicialmente utilizou-se a versão 2.0.0-cdh4.0.0, porém no
momento de desenvolver o Job que realiza o join entre os
arquivos a versão não dava suporte para algumas facilidades.
Atualizar a hadoop para a
versão 2.5.1
Versão Hadoop –
EMR
Ao atualizar a versão do Hadoop, os Jobs não executavam
mais nos clusters configurados anteriormente devido a
instância das máquinas escolhidas não darem suporte.
Atualizar as instâncias dos
cluster para uma versão que
dava suporte ao Hadoop
2.5.1.
João Bachiega Jr. / Rodrigo Pinheiro de Almeida
Disciplina: Tópicos em Sistemas de Computação – Computação em Nuvem
Desafios
Problema Detalhe Solução
Documentação
ineficiente
Documentação confusa do Hadoop no momento de
desenvolver o job que realiza o Join.
Minerar a internet por
exemplos.
Upload de arquivos
grandes na Amazon
S3
API oferecida é básica sendo, havendo problemas ao
realizar upload de arquivos grandes.
Utilizar ferramentas de
upload de terceiros.
Atualização dos status
do cluster
O Console Web e API não prover uma atualização dos
status do cluster e job em tempo real.
Solução Console Web:
atualizar a página de listagem
de cluster;
Solução API: desenvolver
consultas ao cluster de tempo
em tempo.
João Bachiega Jr. / Rodrigo Pinheiro de Almeida
Disciplina: Tópicos em Sistemas de Computação – Computação em Nuvem
Referências
Amazon EC2. Disponível em: https://aws.amazon.com/pt/ec2/
Amazon EMR. Disponível em: http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-
what-is-emr.html
Google Cloud Plataform. Disponível em: https://cloud.google.com/compute/pricing
Map Reduce Tutorial. Disponível em: https://hadoop.apache.org/docs/current/hadoop-mapreduce-client/
hadoop-mapreduce-client-core/MapReduceTutorial.html#Overview
Microsoft Azure. Disponível em: https://azure.microsoft.com/pt-br/pricing/free-trial/
João Bachiega Jr. / Rodrigo Pinheiro de Almeida
Disciplina: Tópicos em Sistemas de Computação – Computação em Nuvem
Descrição Prática da Solução

Mais conteúdo relacionado

Destaque

Untitled Presentation
Untitled PresentationUntitled Presentation
Untitled PresentationLyes Sadoun
 
Alice in wonderland Ambtenaar in verwonderland
Alice in wonderland Ambtenaar in verwonderlandAlice in wonderland Ambtenaar in verwonderland
Alice in wonderland Ambtenaar in verwonderlandJurgen Hoogendoorn
 
το εργαστήριο αγγειοπλαστικής
το εργαστήριο αγγειοπλαστικής το εργαστήριο αγγειοπλαστικής
το εργαστήριο αγγειοπλαστικής skourti
 
4-4 to 4-7 quiz day.pdf
4-4 to 4-7 quiz day.pdf4-4 to 4-7 quiz day.pdf
4-4 to 4-7 quiz day.pdfbwlomas
 
Danko Smukov - CV - 2015 eng pict
Danko Smukov - CV - 2015 eng  pictDanko Smukov - CV - 2015 eng  pict
Danko Smukov - CV - 2015 eng pictDanko Smukov
 

Destaque (8)

Untitled Presentation
Untitled PresentationUntitled Presentation
Untitled Presentation
 
Alice in wonderland Ambtenaar in verwonderland
Alice in wonderland Ambtenaar in verwonderlandAlice in wonderland Ambtenaar in verwonderland
Alice in wonderland Ambtenaar in verwonderland
 
Design Sponge Deck
Design Sponge DeckDesign Sponge Deck
Design Sponge Deck
 
مكون 6 10 حرف أ
مكون 6 10 حرف أمكون 6 10 حرف أ
مكون 6 10 حرف أ
 
το εργαστήριο αγγειοπλαστικής
το εργαστήριο αγγειοπλαστικής το εργαστήριο αγγειοπλαστικής
το εργαστήριο αγγειοπλαστικής
 
4-4 to 4-7 quiz day.pdf
4-4 to 4-7 quiz day.pdf4-4 to 4-7 quiz day.pdf
4-4 to 4-7 quiz day.pdf
 
Danko Smukov - CV - 2015 eng pict
Danko Smukov - CV - 2015 eng  pictDanko Smukov - CV - 2015 eng  pict
Danko Smukov - CV - 2015 eng pict
 
Amen
AmenAmen
Amen
 

Semelhante a Hadoop MapReduce no AWS EMR

Database Refactoring PostgreSQL Urcamp Alegrete 2009
Database Refactoring PostgreSQL Urcamp Alegrete 2009Database Refactoring PostgreSQL Urcamp Alegrete 2009
Database Refactoring PostgreSQL Urcamp Alegrete 2009Fabrízio Mello
 
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
 
Fundamentos da Programação PHP OO - Aula 1
Fundamentos da Programação PHP OO - Aula 1Fundamentos da Programação PHP OO - Aula 1
Fundamentos da Programação PHP OO - Aula 1Thyago Maia
 
Ciência de Dados com R Introducao.pdf
Ciência de Dados com R Introducao.pdfCiência de Dados com R Introducao.pdf
Ciência de Dados com R Introducao.pdfSecont
 
Palestra TaSafo Conf-2015: Refatoração com Métricas
Palestra TaSafo Conf-2015: Refatoração com MétricasPalestra TaSafo Conf-2015: Refatoração com Métricas
Palestra TaSafo Conf-2015: Refatoração com MétricasClaudio Martins
 
Modelos de computação distribuída no Hadoop
Modelos de computação distribuída no HadoopModelos de computação distribuída no Hadoop
Modelos de computação distribuída no HadoopBig Data Week São Paulo
 
Os pecados mortais de escalabilidade em Drupal e seus efeitos nos negócios - ...
Os pecados mortais de escalabilidade em Drupal e seus efeitos nos negócios - ...Os pecados mortais de escalabilidade em Drupal e seus efeitos nos negócios - ...
Os pecados mortais de escalabilidade em Drupal e seus efeitos nos negócios - ...Taller Negócio Digitais
 
Palestra ferramentas de administraao sgbd
Palestra   ferramentas de administraao sgbdPalestra   ferramentas de administraao sgbd
Palestra ferramentas de administraao sgbdDiego Rivera Tavares
 
Alta performance em IA: uma abordagem pratica
Alta performance em IA: uma abordagem praticaAlta performance em IA: uma abordagem pratica
Alta performance em IA: uma abordagem praticaAlex Camargo
 
O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018
O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018 O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018
O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018 Gabriel Machado
 
TDC SP 2017 Trilha .NET - TechWar: Threads, ThreadPools e Tasks em C#
TDC SP 2017 Trilha .NET - TechWar: Threads, ThreadPools e Tasks em C#TDC SP 2017 Trilha .NET - TechWar: Threads, ThreadPools e Tasks em C#
TDC SP 2017 Trilha .NET - TechWar: Threads, ThreadPools e Tasks em C#Diego Gabriel Cardoso
 
Uma perspectiva histórica e o cenário atual das ferramentas de desenvolviment...
Uma perspectiva histórica e o cenário atual das ferramentas de desenvolviment...Uma perspectiva histórica e o cenário atual das ferramentas de desenvolviment...
Uma perspectiva histórica e o cenário atual das ferramentas de desenvolviment...Mario Guedes
 
Big data para programadores convencionais
Big data para programadores convencionaisBig data para programadores convencionais
Big data para programadores convencionaisRoberto Oliveira
 
Resolvendo problemas de performance em aplicações Delphi e bancos de dados
Resolvendo problemas de performance em aplicações Delphi e bancos de dadosResolvendo problemas de performance em aplicações Delphi e bancos de dados
Resolvendo problemas de performance em aplicações Delphi e bancos de dadosAndreano Lanusse
 

Semelhante a Hadoop MapReduce no AWS EMR (20)

Apresentacao rest
Apresentacao   restApresentacao   rest
Apresentacao rest
 
Database Refactoring PostgreSQL Urcamp Alegrete 2009
Database Refactoring PostgreSQL Urcamp Alegrete 2009Database Refactoring PostgreSQL Urcamp Alegrete 2009
Database Refactoring PostgreSQL Urcamp Alegrete 2009
 
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
 
Fundamentos da Programação PHP OO - Aula 1
Fundamentos da Programação PHP OO - Aula 1Fundamentos da Programação PHP OO - Aula 1
Fundamentos da Programação PHP OO - Aula 1
 
Academia do programador
Academia do programadorAcademia do programador
Academia do programador
 
Ciência de Dados com R Introducao.pdf
Ciência de Dados com R Introducao.pdfCiência de Dados com R Introducao.pdf
Ciência de Dados com R Introducao.pdf
 
cdr-intro.pdf
cdr-intro.pdfcdr-intro.pdf
cdr-intro.pdf
 
Palestra TaSafo Conf-2015: Refatoração com Métricas
Palestra TaSafo Conf-2015: Refatoração com MétricasPalestra TaSafo Conf-2015: Refatoração com Métricas
Palestra TaSafo Conf-2015: Refatoração com Métricas
 
Modelos de computação distribuída no Hadoop
Modelos de computação distribuída no HadoopModelos de computação distribuída no Hadoop
Modelos de computação distribuída no Hadoop
 
Os pecados mortais de escalabilidade em Drupal e seus efeitos nos negócios - ...
Os pecados mortais de escalabilidade em Drupal e seus efeitos nos negócios - ...Os pecados mortais de escalabilidade em Drupal e seus efeitos nos negócios - ...
Os pecados mortais de escalabilidade em Drupal e seus efeitos nos negócios - ...
 
Palestra ferramentas de administraao sgbd
Palestra   ferramentas de administraao sgbdPalestra   ferramentas de administraao sgbd
Palestra ferramentas de administraao sgbd
 
Alta performance em IA: uma abordagem pratica
Alta performance em IA: uma abordagem praticaAlta performance em IA: uma abordagem pratica
Alta performance em IA: uma abordagem pratica
 
O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018
O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018 O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018
O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018
 
TDC SP 2017 Trilha .NET - TechWar: Threads, ThreadPools e Tasks em C#
TDC SP 2017 Trilha .NET - TechWar: Threads, ThreadPools e Tasks em C#TDC SP 2017 Trilha .NET - TechWar: Threads, ThreadPools e Tasks em C#
TDC SP 2017 Trilha .NET - TechWar: Threads, ThreadPools e Tasks em C#
 
Treinamento hadoop - dia3
Treinamento hadoop - dia3Treinamento hadoop - dia3
Treinamento hadoop - dia3
 
Uma perspectiva histórica e o cenário atual das ferramentas de desenvolviment...
Uma perspectiva histórica e o cenário atual das ferramentas de desenvolviment...Uma perspectiva histórica e o cenário atual das ferramentas de desenvolviment...
Uma perspectiva histórica e o cenário atual das ferramentas de desenvolviment...
 
Big data para programadores convencionais
Big data para programadores convencionaisBig data para programadores convencionais
Big data para programadores convencionais
 
Resolvendo problemas de performance em aplicações Delphi e bancos de dados
Resolvendo problemas de performance em aplicações Delphi e bancos de dadosResolvendo problemas de performance em aplicações Delphi e bancos de dados
Resolvendo problemas de performance em aplicações Delphi e bancos de dados
 
TCC - Comparativo de ORMs e Acesso Nativo
TCC - Comparativo de ORMs e Acesso NativoTCC - Comparativo de ORMs e Acesso Nativo
TCC - Comparativo de ORMs e Acesso Nativo
 

Hadoop MapReduce no AWS EMR

  • 1. João Bachiega Jr. / Rodrigo Pinheiro de Almeida Disciplina: Tópicos em Sistemas de Computação – Computação em Nuvem Trabalho Prático 01 Implementação do Modelo Hadoop MapReduce
  • 2. João Bachiega Jr. / Rodrigo Pinheiro de Almeida Disciplina: Tópicos em Sistemas de Computação – Computação em Nuvem Agenda • Ferramentas utilizadas • Linguagens utilizadas • Descrição Teórica da Solução • Descrição Prática da Solução • Desafios • Referências
  • 3. João Bachiega Jr. / Rodrigo Pinheiro de Almeida Disciplina: Tópicos em Sistemas de Computação – Computação em Nuvem Ferramentas utilizadas
  • 4. João Bachiega Jr. / Rodrigo Pinheiro de Almeida Disciplina: Tópicos em Sistemas de Computação – Computação em Nuvem Ferramentas utilizadas Sucesso Falha Cluster EMR
  • 5. João Bachiega Jr. / Rodrigo Pinheiro de Almeida Disciplina: Tópicos em Sistemas de Computação – Computação em Nuvem Ferramentas utilizadas Ciclo de Vida - Cluster
  • 6. João Bachiega Jr. / Rodrigo Pinheiro de Almeida Disciplina: Tópicos em Sistemas de Computação – Computação em Nuvem Linguagens utilizadas
  • 7. João Bachiega Jr. / Rodrigo Pinheiro de Almeida Disciplina: Tópicos em Sistemas de Computação – Computação em Nuvem Descrição Teórica da Solução
  • 8. João Bachiega Jr. / Rodrigo Pinheiro de Almeida Disciplina: Tópicos em Sistemas de Computação – Computação em Nuvem Descrição Teórica da Solução Consultas elaboradas: I. Valor total de benefícios pagos por estado; II. Município que recebeu o maior valor de benefícios; III. Valor total de benefícios pagos por estado da região nordeste; IV.Verificar se algum servidor civil ou militar do Executivo Federal é beneficiário do Bolsa Família. (execução da função join entre a base de dados da Bolsa Família e a base de dados de situação funcional e remuneração dos servidores civis e militares)
  • 9. João Bachiega Jr. / Rodrigo Pinheiro de Almeida Disciplina: Tópicos em Sistemas de Computação – Computação em Nuvem Descrição Teórica da Solução Driver: Define os diretórios de entrada e saída de dados e controla a execução do job. Mapper: mapeia pares de chave/valor de entrada para um conjunto de pares de chave/valor intermediário. Reducer: reduz um conjunto de valores intermediários que compartilham uma chave para um conjunto menor de valores. Produz um arquivo texto contendo o resultado da consulta realizada.
  • 10. João Bachiega Jr. / Rodrigo Pinheiro de Almeida Disciplina: Tópicos em Sistemas de Computação – Computação em Nuvem Desafios • Escolha do Provedor • Custos • Execução na Nuvem
  • 11. João Bachiega Jr. / Rodrigo Pinheiro de Almeida Disciplina: Tópicos em Sistemas de Computação – Computação em Nuvem Desafios
  • 12. João Bachiega Jr. / Rodrigo Pinheiro de Almeida Disciplina: Tópicos em Sistemas de Computação – Computação em Nuvem Desafios Problema Detalhe Solução Falta de entendimento do serviço de EMR Inicialmente estávamos criando clusters via a API e Console Web iniciando o processamento dos Steps logo após configuração, porém os Jobs manipulavam o sistema de arquivos Hdfs ocasionando problemas no momento de execução no EMR. Remover qualquer manipulação direta do Hdfs. Diferença entre regiões Aws Diferenças das regiões entre o Amazon S3 e EMR ocasionavam erros de permissões. Configurar a mesma região para ambos os serviços. Versão do Hadoop Inicialmente utilizou-se a versão 2.0.0-cdh4.0.0, porém no momento de desenvolver o Job que realiza o join entre os arquivos a versão não dava suporte para algumas facilidades. Atualizar a hadoop para a versão 2.5.1 Versão Hadoop – EMR Ao atualizar a versão do Hadoop, os Jobs não executavam mais nos clusters configurados anteriormente devido a instância das máquinas escolhidas não darem suporte. Atualizar as instâncias dos cluster para uma versão que dava suporte ao Hadoop 2.5.1.
  • 13. João Bachiega Jr. / Rodrigo Pinheiro de Almeida Disciplina: Tópicos em Sistemas de Computação – Computação em Nuvem Desafios Problema Detalhe Solução Documentação ineficiente Documentação confusa do Hadoop no momento de desenvolver o job que realiza o Join. Minerar a internet por exemplos. Upload de arquivos grandes na Amazon S3 API oferecida é básica sendo, havendo problemas ao realizar upload de arquivos grandes. Utilizar ferramentas de upload de terceiros. Atualização dos status do cluster O Console Web e API não prover uma atualização dos status do cluster e job em tempo real. Solução Console Web: atualizar a página de listagem de cluster; Solução API: desenvolver consultas ao cluster de tempo em tempo.
  • 14. João Bachiega Jr. / Rodrigo Pinheiro de Almeida Disciplina: Tópicos em Sistemas de Computação – Computação em Nuvem Referências Amazon EC2. Disponível em: https://aws.amazon.com/pt/ec2/ Amazon EMR. Disponível em: http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr- what-is-emr.html Google Cloud Plataform. Disponível em: https://cloud.google.com/compute/pricing Map Reduce Tutorial. Disponível em: https://hadoop.apache.org/docs/current/hadoop-mapreduce-client/ hadoop-mapreduce-client-core/MapReduceTutorial.html#Overview Microsoft Azure. Disponível em: https://azure.microsoft.com/pt-br/pricing/free-trial/
  • 15. João Bachiega Jr. / Rodrigo Pinheiro de Almeida Disciplina: Tópicos em Sistemas de Computação – Computação em Nuvem Descrição Prática da Solução