apresentacao hadoop versao final

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

Upload: rodrigo-pinheiro

Post on 06-Apr-2017

142 views

Category:

Data & Analytics


4 download

TRANSCRIPT

Page 1: Apresentacao   hadoop versao final

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

Page 2: Apresentacao   hadoop versao final

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

Page 3: Apresentacao   hadoop versao final

João Bachiega Jr. / Rodrigo Pinheiro de Almeida

Disciplina: Tópicos em Sistemas de Computação – Computação em Nuvem

Ferramentas utilizadas

Page 4: Apresentacao   hadoop versao final

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

Page 5: Apresentacao   hadoop versao final

João Bachiega Jr. / Rodrigo Pinheiro de Almeida

Disciplina: Tópicos em Sistemas de Computação – Computação em Nuvem

Ferramentas utilizadasCiclo de Vida - Cluster

Page 6: Apresentacao   hadoop versao final

João Bachiega Jr. / Rodrigo Pinheiro de Almeida

Disciplina: Tópicos em Sistemas de Computação – Computação em Nuvem

Linguagens utilizadas

Page 7: Apresentacao   hadoop versao final

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

Page 8: Apresentacao   hadoop versao final

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)

Page 9: Apresentacao   hadoop versao final

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.

Page 10: Apresentacao   hadoop versao final

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

Page 11: Apresentacao   hadoop versao final

João Bachiega Jr. / Rodrigo Pinheiro de Almeida

Disciplina: Tópicos em Sistemas de Computação – Computação em Nuvem

Desafios

Page 12: Apresentacao   hadoop versao final

João Bachiega Jr. / Rodrigo Pinheiro de Almeida

Disciplina: Tópicos em Sistemas de Computação – Computação em Nuvem

DesafiosProblema 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.

Page 13: Apresentacao   hadoop versao final

João Bachiega Jr. / Rodrigo Pinheiro de Almeida

Disciplina: Tópicos em Sistemas de Computação – Computação em Nuvem

DesafiosProblema 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.

Page 14: Apresentacao   hadoop versao final

João Bachiega Jr. / Rodrigo Pinheiro de Almeida

Disciplina: Tópicos em Sistemas de Computação – Computação em Nuvem

ReferênciasAmazon 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/

Page 15: Apresentacao   hadoop versao final

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