BIG DATA: UTILIZANDO A INTERNET PARA TOMADA DE DECISÕES Alex Travagin Chatalov¹, Ricardo Ribeiro Rufino¹ ¹Universidade Paranaense (Unipar) Paranavaí – PR – Brasil [email protected] [email protected] Resumo. O presente trabalho se constitui em uma descrição da ferramenta Hadoop, com o objetivo de demonstrar o funcionamento da mesma, que possibilita a análise de grande volume de dados, para isso foi utilizado revisões bibliográficas, ePUB e site para o estudo da ferramenta. A ferramenta se mostra eficaz no gerenciamento de volume de dados, possibilitando assim extração de informações em grandes volumes de dados para auxiliar nas tomadas de decisões. 1. Introdução A cada dia na internet são geradas grandes quantidades de informações e em grande parte essas informações não são utilizadas para auxiliar nas tomadas de decisões. Cheder [2014] estima que são gerados 2,5 quintilhões de bytes diariamente, somente no Facebook são feitas pelo menos 10 milhões de uploads de fotos, no Twitter são gerados em torno de 12 terabytes de informações diariamente e o Google processa por sua vez 24 pentabytes de dados todos os dias. Para que se torne possível a análise de grandes volumes de dados, é necessário a utilização do Big Data e suas ferramentas, a definição do termo Big Data pode ser dada como a forma de capturar, gerenciar e analisar esses dados que não necessariamente sejam estruturados, ou seja, os dados onde o é realizado essa analise podem ser estruturados (dados gerados pelos sistema de ERPs) ou também podem ser dados não estruturados (dados gerados de sensores, arquivos de logs, imagens, vídeos) onde não são conditos em campos pesquisáveis [Siewet, 2013]. O objetivo deste trabalho foi de estudar o termo Big Data, mostrando sua importância, assim como compreender a utilização da ferramenta Hadoop e como se torna possível a extração de grandes volumes de dados com sua utilização, após a revisão, foi realizado a implementação da ferramenta, suas configurações e por fim foi realizado um gerenciamento simples de dados com sua utilização. 2. Metodologia Para que o trabalho fosse desenvolvido foi utilizada primeiramente a revisão de bibliografia e sites para o levantamento de informações e estudo do termo Big Data e sua importância nos dias atuais. Logo após o entendimento do termo Big Data foi necessário levantamento de informações que foram extraídas também em livros, sites e ePUB para o estudo da ferramenta Hadoop e como é possível extrair informações em grande volume de dados com sua utilização. 3. Desenvolvmento 3.1. Hadoop Com o volume tão grande de dados sendo gerados diariamente e que sempre está crescendo conforme os anos, se torna necessário ferramentas especificas para analisar esse grande volume de dados, a ferramenta Hadoop se mostra bem eficácia em analise grande volume de dados, o Hadoop foi criado pela apache, essa ferramenta é capaz de analisar grandes volumes de dados em segundos, filtrando e gerenciando essas informações. A ferramenta processa grandes volumes de dados de alto desempenho sobre um conjunto de nós distribuídos, ou seja, o Hadoop é um sistema multitarefa capaz de processar ao mesmo tempo vários conjuntos de dados para diversas tarefas de diferentes usuários, o recurso de multiprocessamento permite que o Hadoop mapeie as tarefas de forma que fique mais eficiente para o recurso de um modo que aperfeiçoe seu uso [Jones, 2011]. Taurion [2013] define que o Hadoop é um projeto da comunidade apache e que foi criado no ano de 2005, tendo como base o trabalho do Google GFS (Google File System), que te m como paradigma de programação MapReduce que por sua vez divide os trabalhos em tarefas como um mapeador (mapper) e um resumidor (reduce) esses paradigma manipulam os dados em um cluster de servidor de forma que esses dados são processados massivamentes e paralelamente. O Hadoop é a combinação de dois projetos separados que são o Hadoop MapReduce (HMR) que é um framework de processamento paralelo e o Hadoop Distributed File System (HDFS). 3.2. Hadoop MapReduce O modelo de programação de MapReduce foi introduzida pela Google e tem como o modelo de programação de processamento ou gerenciamento de grandes conjuntos de dados. No modelo canônico uma função map tem como finalidade processar pares de valor-chave, mesclando assim os valores há uma chave associada. Os dados de entrada então são divididos de forma que possam ser distribuídos para um grupo de maquinas para o processo paralelo, ou seja, o map (mapa) tem como função de dividir o trabalho em vetores individuais em palavras de tokens em um valor inicial, quando essa tarefa de mapear estiver concluída é realizado o trabalho de reduce (redução) que por usa vez reduz as chaves em um único conjunto, como valor representando o numero de chaves encontradas [Jones, 2011]. A Figura 1 demonstra o funcionamento do MapReduce. Figura 1 Processamento de dados pelo MapReduce de forma simples FONTE: Jones (2010) A Figura 2 demonstra um exemplo de uma pequena frase sendo dividida em partes e sendo processadas pelo MapReduce. Figura 2 Exemplo simples do funcionamento do MapReduce FONTE: Jones (2010) 3.3. Hadoop Distributed File System (HDFS) O HDFS é um subprojeto do Hadoop, é um sistema de arquivos que tem alta tolerância a falhas e foi desenvolvido para ser executado em hardwares padrões de baixo custo, o HDFS disponibiliza acesso ao dados em alto rendimento para dados do aplicativo, armazena no porte de terabytes e pentabytes e que permite a conexão entre nós por onde os arquivos são distribuídos entre os servidores em cluster, além disso é possível armazenar e acessar os arquivos com o sistema de arquivos contínuos, o acesso é gerenciado no modo fluxo onde os aplicativos e comandos são executados diretamente no modelo de processo MapReduce [Hanson, 2013]. Taurion (2013) explica o funcionamento do HDFS, os dados de entrada são divididos em pedaços pequenos que são chamados de blocos, esses blocos são distribuídos em diversos servidores, tornando assim o processamento subseqüente e também muito mais acelerado, pois os dados em vez de serem processados pro uma única pesquisa seqüencial eles são processados de forma simultânea e paralela. O HDFS possui uma arquitetura em cluster de nós interconectada no local onde os arquivos e diretório residem. Um cluster do HDFS é consistido por um único nó denominado de NameNode e tem como sua finalidade o gerenciamento do NameSpace do sistema de arquivo e também regula o acesso dos clientes ao arquivos e também temos os nós de dados chamados de DataNodes que tem como finalidade armazenar dados como blocos dentro dos arquivos. Dentro do HDFS um nó de nome (NameNode) gerencia os namespace do sistema de arquivos dos tipos de abrir, fechar e de renomear os arquivos e diretórios, o nó de nome também mapeia os blocos de dados a nós de dados (DataNode), nos quais são responsáveis por criarem, excluírem e replicarem blocos de dados de acordo com as instruções no nome dominante [Hanson, 2013]. 3.4. Hadoop Common e Hadoop YARD O Hadoop common possui todas as biblioteca e utilitários para que se torne possível a instalação de outros módulos, o Hadoop possui divesos outros módulos que podem ser integrados a ele como, por exemplo: o apache ping, apache hive, apache HBase [Rezende, 2014]. O Hadoop é responsável pelo gerenciamento de recursos em clusters e o uso desses recursos no agendamento das aplicações dos usuários [Rezende, 2014]. O mecanismo de MapReduce teve alterações na versão hadoop-0.23 e então as alterações feitas foram denominas de MapReduce 2.0(MRv2) ou denominado de YARD, a ideia do Hadoop YARD é dividir as duas principais funcionalidades do JobTracker [Apache, 2013]. 4. Considerações finais No mundo atual o Big Data já se torna uma ferramenta indispensável para conseguirmos extrair informações de grandes volumes de dados que geramos e que a cada dia vem crescendo de forma expressiva e que em sua grande maioria esses dados não são utilizados para as tomadas de decisões. É necessário então a utilização de ferramentas capaz de analisar grandes volumes de dados, para isso a ferramenta Hadoop vem crescendo no mercado por sua eficiência nesse gerenciamento de grande volume de dados. O Hadoop possibilita a extração dessas informações de forma instantânea, analisando e filtrando esses dados para que possa ser obtidas informações de grande importância para o auxilio nas tomadas de decisões da empresa. Referências Apache. Apache Hadoop Next Gen MapReduce (YARN). 2013. Disponível em: http://hadoop.apache.org/docs/r0.23.10/hadoop-yarn/hadoop-yarn-site/YARN.html Acessado em: 24 abr. 2014 Cheder, C. Big Data: expectativas, benefícios e barreiras. 2014. Disponível em: https://www.ibm.com/developerworks/community/blogs/ctaurion/entry/big_data_expect ativas_beneficios_e_barreiras?lang=en. Acessado em: 08 jan. 2014 Jones, M. T. Planejamento no Hadoop. 2011. Disponível em: http://www.ibm.com/developerworks/br/library/os-hadoop-scheduling/. Acessado em: 08 jan. 2013. Rezende, R. Big Data e Hadoop: descubra o que é. Grajaú: SQL Magazine, 2014. p.2630. Siewert, S.B. Big Data na nuvem velocidade, volume, variedade e veracidade dos dados. Anchorage, 2013. Disponível em: http://www.ibm.com/developerworks/br/library/bd-bigdatacloud/. Acessado em: 06 jan. 2014. Taurion, C. Big Data. Rio de Janeiro: Brasport, 2013. ePUB. 95 p.