Sunteți pe pagina 1din 6

Hadoop para anlise de dados de redes sociais

Gabriel Diniz1, Glauber Costa2


1,2

Faculdades Integradas de Caratinga - MG

{gabriel,glauber.costa}@doctum.edu.br

Resumo. Estre trabalho pretende analisar o uso do modelo MapReduce, atravs da ferramenta Hadoop para lidar com Big Data. Sero analisados dados a respeito das olimpadas de Londres 2012 provenientes do Twitter, que a ferramenta de micro blogs mais utilizada na atualidade. A parir desses dados pode-se obter informaes do tipo: tpicos mais comentados, usurios mais influentes, perodos onde mais se comentou determinados assuntos, alm de dados a respeito do desempenho do Hadoop nessas tarefas. Assim espera-se demonstrar a possibilidade do seu uso para anlise de dados provenientes de redes sociais, gerando dados estatsticos sobre a repercusso de determinado assunto nesses meios de comunicao. Esse tipo de anlise pode ser usada como subsdio para corporaes na tomada de decises em reas como marketing e relacionamento com o cliente.

1. Introduo
Atualmente, com o crescimento da necessidade de se processar informao em quantidades cada vez maiores, algumas empresas investiram em novas tecnologias de armazenamento e processamento de dados. Google, Yahoo!, Facebook, entre outras gigantes da Internet se depararam com grandes volumes de informao a serem gerenciadas, processadas e disponibilizadas a seus usurios, e os modelos de armazenamento tradicionais j no atendiam mais essa demanda (BRITO, 2010). Uma das solues encontradas foi o modelo de programao chamado MapReduce, desenvolvido pela Google. Esse modelo possibilita se trabalhar com processamento paralelo de dados, abstraindo todas as rotinas que cuidam do paralelismo do processamento, deixando para o desenvolvedor cuidar apenas da tarefa propriamente dia. A forma como o MapReduce faz isso ser abordada nas prximas sees desse trabalho. Nesse trabalho, pretende-se demonstrar o uso do modelo MapReduce para analise de dados provenientes das redes sociais, atravs de sua implementao open source, o Hadoop. Esses dados coletados do Twitter a partir das publicaes dos usurios do servio a respeito das olimpadas de Londres 2012. O Twitter foi escolhido como fonte de dados devido a sua grande popularidade, contando com milhes de usurios. A maioria desses usurios possui a cultura de destacar os assuntos das postagens com marcadores especficos, chamados de hashtags, o que facilita a busca por temas mais populares entre os usurios. A escolha das olimpadas se deve ao fato da grande repercusso desse evento esportivo na mdia mundial e consequentemente no Twitter. Nas sees a seguir sero abordados os principais assuntos pertinentes ao

presente trabalho, fazendo uma contextualizao e conceituao dos tpicos mais importantes dentro de cada assunto.

2. Big Data
Um dos conceitos de big data pode ser definido como: Conjunto de dados cujo tamanho est alm das capacidades das atuais tecnologias de bancos de dados (THANOS, MANEGOLD e KERSTEN, 2012). Isso significa que a partir do momento que uma base de dados atinge um tamanho, ou um nvel de complexidade que torna invivel seu gerenciamento pelos modelos clssicos de armazenamento de dados, como o modelo relacional, essa base pode ser considerada big data 2.1. Bancos de dados relacionais e no relacionais Durante muitos anos o modelo relacional foi amplamente utilizado para armazenamento de dados nos mais variados tipos de sistemas, sendo a base dos SGBD's (Sistemas de Gerenciamento de Bancos de Dados) que ainda so lderes de mercado, como MySQL, SQL Server, Oracle, e PostgreSQL. Porm, com o crescimento cada vez maior do volume de dados de alguns sistemas, principalmente dos servios disponibilizados na Internet, o modelo relacional passou a no atender totalmente s necessidades desses sistemas, e assim surgiram novos conceitos de armazenamento de dados. Os SGBD's criados seguindo esses novos modelos so chamados de bancos de dados no relacionais, tambm conhecidos como NoSQL (BRITO, 2010). Dentro do universo dos bancos de dados NoSQL vrios modelos de armazenamento foram propostos. Dentre eles, De Diana e Gerosa (DIANA, DE e GEROSA, 2010) destacam como os principais: Bancos de dados orientados a documentos; Armazns chave-valor; Bancos de dados de famlias de colunas; Bancos de dados orientados a grafos. 2.2. MapReduce Os bancos de dados NoSQL resolveram grande parte do problema de armazenamento de grandes volumes de dados ao se lidar com big data, isso se deve a algumas caractersticas comuns entre eles, a maioria : distribudo, escalvel, no possui esquema ou possui esquema flexvel, e suporte nativo a replicao (DIANA, DE e GEROSA, 2010). Porm, quando alm do armazenamento dos dados, existe a necessidade de constante processamento e anlise de grandes quantidades de dados, outros conceitos surgiram para tornar essa tarefa mais simples e rpida. O principal conceito nesse sentido o MapReduce. MapReduce um modelo desenvolvido pela Google para processamento distribudo de grandes quantidades de dados. Ele permite que todo o trabalho seja feito a partir de duas funes bsicas definidas pelo usurio: map e reduce, e se encarrega de abstrair toda parte de paralelizao do processamento, balanceamento de carga entre as mquinas e tolerncia a falhas na leitura ou escrita dos dados, como falhas em software e ate mesmo no hardware (DEAN e GHEMAWAT, 2004). Map responsvel por gerar uma serie intermediria de pares chave/valor a partir de uma entrada. Reduce responsvel por juntar todos os valores intermedirios associados a uma mesma chave intermediaria gerando a soluo final (DEAN e GHEMAWAT, 2004). A implementao homnima desse modelo criada pela Google proprietria, e

seu cdigo no est disponvel ao pblico. Porm, existem implementaes opensource do MapReduce, a mais difundida delas o Hadoop, que foi desenvolvido em 2004 por Doug Cutting e recebeu apoio de empresas como Yahoo!, e tambm da comunidade acadmica. O Hadoop implementa o modelo MapReduce de forma anloga a do Google, tendo como objetivo facilitar o trabalho do desenvolvedor. Desde janeiro de 2008 o Hadoop mantido pela Apache Software Foudation. (WHITE, 2010). As duas implementaes do modelo MapReduce foram construdas de forma que seja possvel usar hardware de baixo poder de processamento, e consequentemente de custo baixo. Apenas aumentando o numero de mquinas que executam as tarefas, garante-se que o desempenho tambm aumente. Utilizando maior quantidade de maquinas, pode-se ter uma maior distribuio dos dados, assim se uma mquina falhar, diminui-se a possibilidade de perda de dados, e diminui tambm o impacto no desempenho geral do conjunto (DEAN e GHEMAWAT, 2008; TAYLOR, 2010). Tanto MapReduce quanto Hadoop so compostos por duas camadas: uma de armazenamento de dados e uma de processamento de dados. No MapReduce, a camada de armazenamento se chama GFS (Google File System) e no Hadoop HDFS (Hadoop Distributed File System) (LEE et al., 2011). Esses sistemas de arquivos distribudos so responsveis pela gravao, replicao, acesso, e integridade dos dados (WHITE, 2010). Outro importante projeto mantido pela Apache o Hbase, que um banco de dados no relacional distribudo e tolerante a falhas, baseado no Hadoop. O Hbase possibilita acesso em tempo real de leitura e escrita aos dados armazenados no HDFS. Apesar de no possuir uma linguagem nativa para consultas aos dados como o SQL, o Hbase possui integrao com os projetos Hive e Hbql que permitem acesso de consulta e insero em suas tabelas (GEORGE, 2011). Assim como o Hbase, existem outros bancos de dados baseados no MapReduce como o projeto que deu origem a ele, o Google BigTable que construdo sobre o GFS e o HadoopDB que uma forma hbrida do Hadoop com o banco de dados relacional PostgreSQL (TAYLOR, 2010). Existem tambm outras alternativas que no so baseadas no Hadoop, mas so baseadas no conceito do Google BigTable, como os projetos HyperTable e Cassandra. E existem ainda outros bancos de dados no relacionais como o Redis, MongoDB, CouchDB, Neo4J, Voldemort, Dynamo, entre muitos outros que seguem as ideias dos modelos apresentados na seo 3.1(DIANA, DE e GEROSA, 2010). 2.3. Twitter O Twitter, servio de micro blogs lanado em 2006, o mais utilizado da atualidade (ZAGO, 2009). O servio usado para os mais variados fins, como por exemplo falar dos acontecimentos rotineiros ou sobre o que as pessoas esto fazendo, dilogos e comentrios, compartilhamento de informaes(geralmente via links externos), divulgao de notcias, entre outros (JAVA, SONG e FININ, 2007). Nesse servio os usurios postam frases curtas, de no mximo 140 caracteres chamadas de tweets. Outros usurios podem repostar ou esses tweets (retweet) ou respond-los (reply), criando assim, uma maior interao entre os usurios (ZAGO, 2009). A escolha do Twitter como fonte de dados para esse trabalho se deve ao fato dele atualmente ser uma das ferramentas mais populares da Internet, unindo isso facilidade da coleta dos dados atravs de sua API.

2.4. API Twitter O Twitter permite que aplicativos desenvolvidos por terceiros gerenciem as contas dos seus usurios, podendo interagir com outros usurios, publicar, pesquisar, e visualizar dados (ZAGO, 2009). A interao entre esses aplicativos e o Twitter se da atravs de sua API (Aplication Progamming Interface). A API do Twitter funciona atravs do protocolo HTTP e por meio de requisies GET e POST ela possibilita o recebimento e o envio de dados para o servio. Para garantir a segurana dos dados dos usurios e o sigilo dos mesmos, no uso de funcionalidades que alterem dados das contas, ou que possam ver informaes sigilosas, a API exige que o usurio dono da conta d permisso explcita ao aplicativo antes que ele tenha acesso mesma (TWITTER INC., 2012). Nos tpicos a seguir sero abordados os assuntos relacionados s tarefas a serem executadas durante a pesquisa. Na seo 4 h uma explicao de como ser o ambiente de coleta e processamento dos dados, na 5 uma explicao sobre a API Twitter, que ser fonte dos dados e como os eles sero recuperados. E por fim, na seo 6 aponta-se possveis anlises a serem feitas com base nos dados coletados.

3. O ambiente para coleta e anlise dos dados


Uma das maiores vantagens do modelo MapReduce sua escalabilidade, que permite que vrias mquinas trabalhem em conjunto em uma mesma tarefa, dividindo essa tarefa em partes menores. Isso permite que seja usado hardware de baixo custo em operaes antes possveis apenas com mquinas robustas e com custo elevado. De acordo com Dean & Ghemawat, em 2008, cada cluster dos data centers do Google era composto por aproximadamente 1800 maquinas, cada uma com dois processadores Intel Xeon de 2GHz, 4GB de memria RAM, e dois discos IDE de 160GB (DEAN e GHEMAWAT, 2008). Esses dados demonstram que no necessrio usar hardware com alto poder de processamento, pois o MapReduce se encarrega de dividir a tarefa em partes menores, cada uma processada em uma mquina diferente. Nesse trabalho, pretende-se criar uma infraestrutura reduzida, com aproximadamente 10 mquinas, onde sero armazenados e processados os dados coletados do Twitter. Em cada maquina ser instalada uma instncia do Hadoop e do Hbase, possibilitando o processamento distribudo dos dados.

4. Coleta de dados do twitter


Utilizando a API do Twitter, foi construda uma ferramenta capaz de recuperar uma grande parte dos tweets dos usurios de todo o mundo contendo uma ou mais palavras chaves entre um grupo de termos predefinidos. Para isso foi usada a funcionalidade de pesquisa da API, onde se pode procurar em tempo real, tweets que contenham os termos indicados em uma busca (TWITTER INC., 2012). Atravs desse mecanismo de pesquisa, sero recuperadas as postagens referentes s olimpadas de Londres 2012, procurando por termos como: olimpadas, olmpicos, Londres 2012 entre outros. Fazendo as mesmas pesquisas repetidamente, em intervalos de tempo controlados, possvel recuperar a maioria das postagens relacionadas aos termos pesquisados.

5. Analise estatstica dos dados


A partir dos dados coletados, ser possvel realizar diversos tipos de anlises distintas,

como: perodos em que mais se comentou sobre os termos pesquisados, usurios que tiveram publicaes com maior relevncia e popularidade, assuntos mais comentados, entre outras muitas possibilidades de anlise. No aspecto do desempenho da estrutura montada para coleta e anlise, sero obtidos dados como: quantidade de dados analisados por unidade de tempo, aumento do desempenho com o aumento do numero de maquinas envolvidas, entre outros. A partir da anlise dos tweets armazenados, podese obter dois tipos de informaes: Estatsticas da repercusso das Olimpadas no Twitter, e dados de desempenho do ambiente de anlise. 5.1. Repercusso das olimpadas no Twitter Dentre outras, pode-se obter as seguintes informaes: Quantidade de cometrios feitos, assuntos mais populares, modalidades esportivas mais populares, atletas mais populares, pases mais populares, usurios do twitter com maior interao com o pblico (usurios mais populares), sites externos mais referenciados. Todos essas informaes acima podem ainda ser agrupadas por idioma e perodo de publicao (data, hora, dia da semana). 5.2. Desempenho do ambiente de anlise Durante o a coleta e processamento dos dados, pode-se medir o desempenho das ferramentas escolhidas, obtendo dados como: Volume de dados coletados por perodo de tempo, volume de dados processados por unidade de tempo, tempo de escrita de dados, tempo de recuperao de dados, capacidade de tolerncia falhas, aumento ou diminuio do desempenho com a variao do numero de maquinas.

Referencias
Brito, R. W. (2010) Bancos de Dados NoSQL x SGBD's Relacionais:Anlise Comparativa Dean, J. e Ghemawat, S. (2004) MapReduce: Simplified data processing on large clusters. In: OSDI 04: 6th Symposium on Operating Systems Design and Implementation, p. 137-149. Dean, J. e Ghemawat, S. (2008) MapReduce. In: Communications of the ACM, v. 51, n. 1, p. 107, doi:10.1145/1327452.1327492. Diana, M. De e Gerosa, M. (2010) NoSQL na Web 2.0: Um Estudo Comparativo de Bancos No-Relacionais para Armazenamento de Dados na Web 2.0. In: Workshop de Teses e Dissertaes de Bancos de Dados do Simpsio Brasileiro de Bancos de Dados WTDBD2010. George, L. HBase: The Definitive Guide. (2011) [S.l: s.n.]. Java, A.; Song, X. e Finin, T. (2007) Why we twitter: understanding microblogging usage and communities. In: Proceedings of the 9th WebKDD. [S.l: s.n.]. Lee, K.-ha et al. (2011) Parallel Data Processing with MapReduce : A Survey. In: Architecture. [S.l.]: ACM, v. 40p. 11-20. Lin, J. e Dyer, C. (2010) Data-Intensive Text Processing with MapReduce. In: Synthesis Lectures on Human Language Technologies, v. 3, n. 1, p. 1-177, doi:10.2200/S00274ED1V01Y201006HLT007. Taylor, R. C. (2010) An overview of the Hadoop/MapReduce/HBase framework and

its current applications in bioinformatics. BMC Bioinformatics, v. 11, n. Suppl 12, p. S1. Thanos, C.; Manegold, S. e Kersten, M. (2012) Big Data. In: Manning Publications Co. v. 455p. 10-13 Twitter INC. (2012) Documentao API Twitter. Disponvel em: <dev.twitter.com>. Acesso em: 18 abr. 2012. Varley, I.; Aziz, A. e Aziz, C. (2009) No Relation: The Mixed Blessings of NonRelational Databases.. White, T. (2010) Hadoop: The definitive guide. 2nd Editio ed. [S.l: s.n.]. p. 625 Zago, G. O (2009) Twitter como suporte para produo e difuso de contedos jornalsticos. In: Ciberlegenda, n. 6, p. 1-16.

S-ar putea să vă placă și