FPC - MapReduce Pedro Barbosa Victor Luna Freire

Agenda 1.O problema 2.Nossa Implementação 3.Hadoop 4.Implementação 5.Testes realizados 6.Estatísticas 7.Resultados 8.Conclusões

O Problema ●Contar a frequência das 50 palavras mais utilizadas em arquivo com muitos tweets (e também os 50 pares e trios mais usados) ●Desconsiderar palavras de pouco valor como artigos e pronomes

Nossa Implementação

Gargalo na Leitura dos Blocos do Arquivo Talvez fazer a leitura do bloco dentro map, ao invés de passar o bloco como parâmetro resolva o problema

Hadoop: MapReduce

Hadoop: MapReduce

Hadoop: HDFS

Implementação ●Baseado no exemplo WordCount do tutorial do Hadoop ●Dois ciclos MapReduce: 1.Contador de Frequência 2.Sorter (ordenador)

Mapper Contador

Reducer Contador

Output Contador

Mapper Sorter

Reducer Sorter

Output Sorter

Implementação ●Para contar pares e trios, é usado um mapper diferente que gera todos os pares e trios possíveis a partir das palavras na linha

Máquinas dos testes ●Quad-core Q8200 (4M Cache, 2.33 GHz, 1333 MHz FSB) com 4GB DDR2 (Hadoop apenas nessa) ●Intel MTL

Entrada utilizada ●Arquivo com 126 mb de tweets (cortesia do professor =) ) Hey all, have a fucking great weekend! Iii|; )' Conheça o MMORPG Rappelz: MMORPG de primeira para o fim de semana bit. ly/nKa5fh Justin Bieber agradece os brasileiros em português: ‘Obrigada’ migre.me/5PWI3 Eu ouvi dizer que AXL ROSE vai tocar hje com uma bandana do Galo Série C! @TrezeFC Boa noite aê dormi uma boa parte da tarde pra assistir o show do #gunsnroses vamo ver qual merda axl vai fazer Eita, hoje a noite so acaba com paradise city #gunsnroses

Curiosidade: Block Size ●Block Size do DFS: tamanho de cada parte (chunk) em que os arquivos são divididos (não corresponde ao block size físico) ●Utilizado block size de 32MB no HDFS para geração de mais tasks (tradeoff: núcleos VS acesso HD)

Estatísticas no Quad-core Contagem simples de palavras Tempo total necessário: 1m39.450s Contagem: 11/11/21 01:20:26 INFO mapred.JobClient: 11/11/21 01:20:26 INFO mapred.JobClient: 11/11/21 01:20:26 INFO mapred.JobClient: 11/11/21 01:20:26 INFO mapred.JobClient: 11/11/21 01:20:26 INFO mapred.JobClient:

Launched reduce tasks=1 Launched map tasks=4 Data-local map tasks=4 Bytes Read=131555913 Bytes Written=4043165

Ordenação: 11/11/21 01:20:59 INFO mapred.JobClient: 11/11/21 01:20:59 INFO mapred.JobClient: 11/11/21 01:20:59 INFO mapred.JobClient: 11/11/21 01:20:59 INFO mapred.JobClient: 11/11/21 01:20:59 INFO mapred.JobClient:

Launched reduce tasks=1 Launched map tasks=2 Data-local map tasks=2 Bytes Read=4045008 Bytes Written=4043165

Estatísticas no Quad-core Contagem de pares de palavras Tempo total necessário: 6m5.894s Contagem: 11/11/21 01:38:24 INFO mapred.JobClient: 11/11/21 01:38:24 INFO mapred.JobClient: 11/11/21 01:38:24 INFO mapred.JobClient: 11/11/21 01:38:24 INFO mapred.JobClient: 11/11/21 01:38:24 INFO mapred.JobClient:

Launched reduce tasks=1 Launched map tasks=4 Data-local map tasks=4 Bytes Read=131555913 Bytes Written=283010597

Ordenação: 11/11/21 01:40:51 INFO mapred.JobClient: 11/11/21 01:40:51 INFO mapred.JobClient: 11/11/21 01:40:51 INFO mapred.JobClient: 11/11/21 01:40:51 INFO mapred.JobClient: 11/11/21 01:40:51 INFO mapred.JobClient:

Launched reduce tasks=1 Launched map tasks=9 Data-local map tasks=9 Bytes Read=283043373 Bytes Written=283010597

Estatísticas no Quad-core ●Para a contagem de trios de palavras, foi usada uma versão reduzida com apenas 25000 linhas. (original: 853512 linhas) ●Só havia 20GB alocados para o Linux o que não foi suficiente para o arquivo completo

Estatísticas no Quad-core Contagem de trios de palavras Tempo total necessário: 2m25.344s Contagem: 11/11/21 02:55:47 INFO mapred.JobClient: 11/11/21 02:55:47 INFO mapred.JobClient: 11/11/21 02:55:47 INFO mapred.JobClient: 11/11/21 02:55:47 INFO mapred.JobClient: 11/11/21 02:55:47 INFO mapred.JobClient:

Launched reduce tasks=1 Launched map tasks=2 Data-local map tasks=2 Bytes Read=3955459 Bytes Written=129200658

Ordenação: 11/11/21 02:56:56 INFO mapred.JobClient: 11/11/21 02:56:56 INFO mapred.JobClient: 11/11/21 02:56:56 INFO mapred.JobClient: 11/11/21 02:56:56 INFO mapred.JobClient: 11/11/21 02:56:56 INFO mapred.JobClient:

Launched reduce tasks=1 Launched map tasks=4 Data-local map tasks=4 Bytes Read=129212949 Bytes Written=129200658

Contagem simples (TOP 25) 8939 são 8975 ter 9364 estou 9585 3 9656 casa 9706 nada 9839 seguidores 10021 tarde 10062 seguindo 10109 11 10117 quero 10137 1 10282 deus 10363 amor

11457 12034 13652 13739 13774 14037 14156 17403 19625 30366 33400

fazer vida noite foi via tudo twitter aqui for meu dia

Contagem pares (TOP 25) 1968 1973 1973 2264 2264 2270 2272 2272 2321 2321 2468

quero quero foi meu meu foi meu amor amor meu bla bla twitter followers followers twitter dia 11 11 dia fome fome

2471 check out 2471 out check 2681 segue volta 2681 volta segue 2859 todo mundo 2859 mundo todo 3016 1 1 3184 for for 3233 ganhar seguidores 3233 seguidores ganhar 3336 meu meu 4374 dia dia 10080 ? ? 15408 11 11

Contagem trios (TOP 25) 110 110 110 110 120 132 150 150 150 150 216 216

000 000 decilhão 1 000 000 000 1 000 decilhão 000 000 ice ice ice deus deus deus dia 11 11 show show show 11 dia 11 11 11 dia cha chapolin cha cha cha chapolin

216 chapolin cha cha 372 quero quero quero 382 quero show show 382 show show quero 382 show quero show 406 show quero quero 406 quero quero show 406 quero show quero 504 cha cha cha 720 12644 12644 12644 990 000 000 000 1368 11 11 11 10626 banda banda banda

Experiências ●Díficil colocar para funcionar no Windows ("suporte" através de cygwin)

Experiências ●Como o problema já se adaptava facilmente aos mappers e reducers padrões, não foi preciso criar InputFormat novos

Experiências ●Difícil achar exemplos na Internet ●Após inicializar o Hadoop, o HDFS passa cerca de 1 minuto em "safemode"

Conclusões ●Não precisar se preocupar com a comunicação entre threads ajuda bastante. ●Mappers e Reducers podem ser escritos independentemente ●Tolerância a falhas de nós fica abstraída do programador (Hadoop)

Conclusões ●Processar texto humano sem garantias de formatação não é trivial! ●É preciso esforço considerável para extrair conteúdo relevante.

Trecho do conjunto de palavras ignoradas contanto desde sem senão a menos conforme segundo consoante como de acordo com tal tanto tão de modo que de sorte de maneira que sem a fim de para se à medida à proporção ao passo quanto mais tanto menos quando enquanto logo desde assim que até que depois que sem cada vez pra the vim vai pra vou you will get this that have quem my from hoje tem today agora if like foi we bom boa of just are your tá mt mto melhor coisa hj está gente às vezes pq nao deve ser vem todos

Curiosidade ●Sem filtrar palavras, os pares mais frequentes continham na sua maioria expressões como: "bom dia"; "boa noite"; "vai pra"; "pra vai"; "foi pra"; "para para"

Bibliografia Como funciona o MapReduce resumidamente: http://architects.dzone.com/articles/how-hadoop-mapreduceworks Hadoop FAQ: http://wiki.apache.org/hadoop/FAQ

Dúvidas?

Hadoop and MapReduce.pdf

Download. Connect more apps... Try one of the apps below to open or edit this item. Hadoop and MapReduce.pdf. Hadoop and MapReduce.pdf. Open. Extract.

814KB Sizes 4 Downloads 240 Views

Recommend Documents

Intro Hadoop and MapReduce Certificate.pdf
There was a problem loading more pages. Intro Hadoop and MapReduce Certificate.pdf. Intro Hadoop and MapReduce Certificate.pdf. Open. Extract. Open with.

pro hadoop pdf
There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. pro hadoop pdf.

Expert Hadoop Administration
Online PDF Expert Hadoop Administration: Managing, Tuning, and Securing Spark, YARN, and HDFS (Addison-Wesley Data Analytics Series), Read PDF ...

oreilly hadoop pdf
Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. oreilly hadoop pdf. oreilly hadoop pdf. Open. Extract. Open with.

PDF Practical Data Science with Hadoop and Spark
PDF Practical Data Science with Hadoop and ... at Scale (Addison-Wesley Data & Analytics). Online Library ... Learning Spark: Lightning-Fast Big Data Analysis.

Hadoop Design and k-Means Clustering
Jan 15, 2008 - 2 Data Flow. Input. Output ... Start a second backup instance of the same task. Consistency ..... Startup and intermediate storage costs. Kenneth ...

PDF and EPuB Expert Hadoop Administration
Expert Hadoop Administration: Managing, Tuning, and Securing Spark, YARN, and HDFS (Addison-Wesley Data Analytics Series), Free pdf download Expert ...

hadoop-2.7.0-tutorial.pdf
Hadoop terinspirasi dari publikasi makalah Google MapReduce dan Google File System. (GFS) oleh ilmuwan dari Google, Jeffrey Dean dan Sanjay Ghemawat ...

Hadoop Course Contents.pdf
of Big Data and. hadoop. Hands On. Play with Hadoop. and hadoop. ecosystem. Development. Become a top. notch hadoop. developer. Hadoop Development ...