Apresentação em Aplicações Distribuídas – Hadoop MapReduce

17
hadoop mapreduce Alair Fonseca Bianca Cristina Caique Matos Matteus Barbosa

Transcript of Apresentação em Aplicações Distribuídas – Hadoop MapReduce

Page 1: Apresentação em Aplicações Distribuídas – Hadoop MapReduce

hadoop mapreduce

Alair FonsecaBianca Cristina Caique Matos Matteus Barbosa

Page 2: Apresentação em Aplicações Distribuídas – Hadoop MapReduce

Roteiro1. Hadoop;

2. MapReduce;

3. Challenges of Big Data analysis (2014);

4. The Hadoop Distributed File System(2010);

5. SEAL: A Distributed Short Read Mapping and Duplicate Removal Tool

6. Análise de Escalabilidade de Aplicações Hadoop/Mapreduce por meio de simulação

7. Referências Bibliográficas.

Page 3: Apresentação em Aplicações Distribuídas – Hadoop MapReduce

Hadoop Hadoop é um framework de software baseado em Java para gerência e processamento de

dados distribuídos, escalabilidade e gestão de falhas. É um container de bibliotecas open-source

para computação distribuída utilizando o modelo de programação MapReduce e seu próprio

sistema de arquivos, chamado HDFS. Se aplica a grandes instituições financeiras, institutos de

pesquisa, centrais nacionais de previsão climática e similares, onde há demanda por processamento

paralelo em larga escala.

Um computador cataloga os metadados e as réplicas de dados (NameNode).

Cada nó do cluster recebe uma cópia do framework (DataNodes).

Nota-se um grande ganho de performance e balanceamento de carga quando se parte do

princípio de processamento paralelo em nós. Em teste com 64 e 96 nós, obteve-se melhor fluxo em

um menor conjunto de dados, o que pôde ser mitigado quando o Hadoop for informado sobre a

topologia de cluster da rede.

Page 4: Apresentação em Aplicações Distribuídas – Hadoop MapReduce

FonteCopy short

URL

42 PARALELLA BOARDS

756 CPU

Page 5: Apresentação em Aplicações Distribuídas – Hadoop MapReduce

Mapreduce

MapReduce é um modelo de programação composto basicamente por duas funções:

map e reduce.

A função map recebe uma entrada e retorna chave-valor; a função reduce recebe uma chave e

uma lista de valores associados a essa chave.

Hadoop is the most widespread implementation of MapReduce.Luca Pireddu,* Simone Leo, and Gianluigi Zanetti (SEAL)

MapReduce é integralmente suportado pelo HDFS. É notável a sua ampla aplicação no contexto

da bioinformática, uma vez que bancos de dados de expressões gênicas, por exemplo, requerem

processamento sobre bilhões de registros, o que se torna impossível com algoritmos convencionais.

Page 6: Apresentação em Aplicações Distribuídas – Hadoop MapReduce

Mapreduce

MapReduce apresenta uma solução de problemas parcialmente semelhante ao da

recursividade, que é de dividir problemas em partes menores. O nome provém de métodos

conhecidos: .map de Java que itera sobre cada elemento de uma coleção e .reduce de Scala que

combina valores com um dado operador matemático.

“A idéia é isolar cada mapeador, de tal forma que, quando um mapeador terminar seu trabalho, envie

seus dados ao redutor, que por sua vez junta os dados de todos os mapeadores”.(Andrea Lacono)

Page 7: Apresentação em Aplicações Distribuídas – Hadoop MapReduce

Challenges of Big Data analysis (2014)

Citação Exemplo

Quais são os objetivos da análise do BigData? De

acordo com Para Bickel P. dois objetivos principais da

análise de BigData são desenvolver métodos eficazes

que podem prever com precisão as observações

futuras e, identificar relações entre as características e

respostas para fins científicos.

MacDonald’s - “Breakfast all day”.

Tamanho da amostra e alta dimensionalidade trazem

heterogeneidade, Acúmulo de ruído, correlação

espúria e endogeneidade acidental.

Quando Nicolas Cage faz filmes, mortes são

evitadas.

Jianqing Fan1,∗, Fang Han2 and Han Liu1

Page 8: Apresentação em Aplicações Distribuídas – Hadoop MapReduce

Challenges of Big Data analysis (2014)

Citação Exemplo

MapReduce is a programming model for processing

large datasets in a parallel fashion.Buscar string em um texto.

Jianqing Fan1,∗, Fang Han2 and Han Liu1

Page 9: Apresentação em Aplicações Distribuídas – Hadoop MapReduce

The Hadoop Distributed File System (2010)

Citação Exemplo

Hadoop provides a distributed file system and a

framework for the analysis and transformation of very

large data sets using the MapReduce paradigm.

Hadoop e o modelo MapReduce é muito

utilizado para mineração de dados e para análise

do Big Data.

Hadoop is an Apache project; all components are

available via the Apache open source license.

O Hadoop originalmente teve a colaboração de

80% de seu desenvolvimento realizado pela

Yahoo!.

Konstantin Shvachko, Hairong Kuang, Sanjay Radia, Robert Chansler

Page 10: Apresentação em Aplicações Distribuídas – Hadoop MapReduce

The Hadoop Distributed File System (2010)

Citação Exemplo

The MapReduce framework automatically handles

parallel task scheduling, error detection and recovery.

Tarefas que são executadas paralelamente são

monitoradas e controladas pelo framework

MapReduce.

A Hadoop cluster, scales computation capacity,

storage capacity and IO bandwidth by simply adding

commodity servers.

Hadoop clusters, aciona servidores quando é

necessário aumentar a escala de processamento,

ou/e de armazenamento de computação.

Konstantin Shvachko, Hairong Kuang, Sanjay Radia, Robert Chansler

Page 11: Apresentação em Aplicações Distribuídas – Hadoop MapReduce

Análise de Escalabilidade de Aplicações Hadoop/Mapreduce por meio de simulação

Fabiano da Guia Rocha, Hermes Senger

Estudo sobre a escalabilidade de aplicações MapReduce executadas na plataforma Hadoop

utilizando um método que combina experimentação e simulação. Uma das experimentações foi

realizada em um cluster local de 32 nós. Como principais contribuições, este artigo mostra como a

abordagem combinada pode ser empregada para identificar os principais gargalos em termos de

escalabilidade de aplicações reais em diferentes cenários, melhorando significativamente a sua

escalabilidade em plataformas com milhares de nós.

Page 12: Apresentação em Aplicações Distribuídas – Hadoop MapReduce

Análise de Escalabilidade de Aplicações Hadoop/Mapreduce por meio de simulação

Fabiano da Guia Rocha, Hermes Senger

Nas execuções acima de 16 nós o speedup começa a cair, pois a aplicação possui apenas 26 tarefas

reduce. Convém destacar que, apesar de haver apenas 26 tarefas reduce (o que causa ociosidade além

de 13 nós), o speedup continua aumentando.

Page 13: Apresentação em Aplicações Distribuídas – Hadoop MapReduce

Análise de Escalabilidade de Aplicações Hadoop/Mapreduce por meio de simulação

Fabiano da Guia Rocha, Hermes Senger

Como se pode observar, a partir de 200 nós os ganhos foram pouco significativos e a partir

de 500 nós o ganho é praticamente nulo. Isso ocorre devido ao baixo grau de paralelismo da

fase reduce, que possui apenas 26 tarefas. O Speedup Total vai crescendo, já que não

recebe novas tarefas para trabalhar em paralelo.

Page 14: Apresentação em Aplicações Distribuídas – Hadoop MapReduce

SEAL: a distributed short read mapping and duplicate removal tool (2011)

Luca Pireddu∗, Simone Leo and Gianluigi Zanetti

Software online (com linha de comando), útil na área biomédica. Utilizada para leitura em pares e

remoção de duplicatas em sequências de DNA de experimentos. Identifica referências de mesma

coordenada e mantém as de maior qualidade, a julgar por seus parâmetros. É um software que foi

projetado para gerência de nós computacionais em cluster com Hadoop.

Nesse caso, Hadoop Mapreduce trabalha para gerenciar entrada e saída de dados em massa e

garantir confiabilidade no processo, uma vez que mitiga eventos passageiros como falhas de nós em

casos de pico de carga. A ferramenta lê bilhões de fragmentos de DNA (no HDFS). O artigo relata o

sucesso no uso de algoritmos MapReduce do framework Hadoop devido à sua escalabilidade.

Hadoop faz balanceamento de carga à medida em que são ativados novos “nós computacionais”,

resultando em ganho de performance quando se parte do princípio de processamento paralelo em

nós.

Page 15: Apresentação em Aplicações Distribuídas – Hadoop MapReduce

SEAL: a distributed short read mapping and duplicate removal tool (2011)

Luca Pireddu∗, Simone Leo and Gianluigi Zanetti

Hadoop permite a integração com outros frameworks:

“O mapeamento do SEAL está escrito em Python, e é integrado com o framework Hadoop usando Pydoo

(biblioteca auxiliar).“

SEAL mitiga a sobrecarga nos processamentos de diferentes conjuntos de sequências, inclusive mais

rapidamente que o software existente BWA (Burrows-Wheeler Aligner) sobre os mesmos conjuntos de

dados. A comparação, em horas, comprova a eficácia dos nós hadoop (em 99.5% dos testes) em

detrimento do modo de operação em nó único do BWA:

Page 16: Apresentação em Aplicações Distribuídas – Hadoop MapReduce

Referências Bibliográficas

MapReduce by Examples, de Andrea Lacono;

Uma Introdução ao Hadoop Distributed File System, de J. Jeffrey Hanson;

SEAL: A DISTRIBUTED SHORT READ MAPPING AND DUPLICATE REMOVAL TOOL, Luca Pireddu,

Simone Leo and Gianluigi Zanetti

ANÁLISE DE ESCALABILIDADE DE APLICAÇÕES HADOOP/MAPREDUCE POR MEIO DE SIMULAÇÃO,

Fabiano da Guia Rocha, Hermes Senger

CHALLENGES OF BIG DATA ANALYSIS, Jianqing Fan, Fang Han and Han Liu

The Hadoop Distributed File System, Konstantin Shvachko, Hairong Kuang, Sanjay Radia, Robert

Chansler

Page 17: Apresentação em Aplicações Distribuídas – Hadoop MapReduce

Obrigado