Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 UNIVERSIDADE ESTÁCIO DE SÁ MBA EM CIÊNCIA DE DADOS E BIG DATA ANALYTICS Resenha Crítica de Caso Diego Nunes Botelho Trabalho da disciplina Ecossistema HADOOP Tutor: Prof. Regina Lucia N. F. F. Batista Rio de Janeiro 2020 http://portal.estacio.br/ 2 HELLO HADOOP WORLD – PRIMEIROS PASSOS COM HADOOP E MAPREDUCE Referência: SILVA, Marku V. Hello Hadoop World – Primeiros passos com Hadoop e MaoReduce, novembro de 2017. Disponível em: http://pos.estacio.webaula.com.br/Biblioteca/Acervo/Basico/PG0225/Biblioteca _48198/Biblioteca_48198.pdf. Acesso em: 26/02/2020 O artigo explora uma ferramenta muito relevante, o Hadoop, além de apresentar conceitos do MapReduce e demonstrar um programa em linguagem Java. A ferramenta Hadoopla está inserida dentro do universo do Big Data, que lida com o processo de análise e interpretação de um grande volume de dados. O autor faz uma introdução aos conceitos do software Hadoop e do MapReduce, que é um modelo de programação para o processamento massivo de dados. Também é desenvolvido um programa utilizando a linguagem Java para descobrir quantos filmes foram lançados por ano dentro do período e qual é o comportamento do índice de lançamentos por ano ao longo do período registrado. Este código foi implementado com o intuito de mostrar, na prática, os conceitos desta ferramenta tão poderosa. O aumento contínuo do poder computacional tem produzido um grande fluxo de informação. Com o número crescente de diferentes fontes de dados, distribuídas e descentralizadas, o escopo, o tamanho, a estrutura, o esquema e a velocidade dos dados resultantes estão mudando bastante, e apesar de uma infinidade de informações disponíveis para a utilização a favor da empresa, este excesso tem sido um desafio, pois pode levar as organizações a se perderem dentro desse meio. A partir disso, observa-se que o mercado vem buscando ferramentas que permitam realizar o levantamento dessas informações, a fim de filtrar somente o que é relevante para as organizações. Dentro deste contexto de gestão e análise de uma grande quantidade de dados é que nasceu o Big Data. Esses dados são tão grandes, rápidos e complexos que são difíceis ou impossíveis de se processar usando métodos tradicionais. Para a análise de Big Data é necessário utilizar técnicas avançadas aplicadas em http://pos.estacio.webaula.com.br/Biblioteca/Acervo/Basico/PG0225/Biblioteca_48198/Biblioteca_48198.pdf http://pos.estacio.webaula.com.br/Biblioteca/Acervo/Basico/PG0225/Biblioteca_48198/Biblioteca_48198.pdf 3 conjuntos de dados muito grandes e diversos. Na literatura são mencionados cinco elementos (já existem obras que abordam mais de cinco elementos) para que uma tecnologia possa ser categorizada como Big Data Analytics: velocidade, volume, variedade, veracidade e valor. Dentro dessa proposta, os dados são transmitidos para as empresas a uma velocidade sem precedentes e as etapas de armazenamento, processamento e análise devem ocorrer em tempo hábil. As organizações coletam dados de diversas fontes, incluindo informações cadastrais, transações com clientes, dados de mídias sociais e muito mais, gerando um volume enorme de dados de tamanhos que variam de terabytes a zettabytes e que precisam ser armazenados e analisados. Todo esse volume de dados é acompanhado de uma diversidade de formatos, onde estão inseridos os dados estruturados, semiestruturados e não estruturados. Também é necessário que os dados apresentem veracidade. Em muitas situações a análise dos dados é utilizada em tempo real, representando a realidade daquele momento, e dados antigos não podem ser considerados dados verídicos no momento em que é analisado. E, além desses outros elementos, o big data precisa apresentar algum valor para a análise feita, ou seja, é importante garantir que as informações geradas sejam baseadas em dados precisos e levem a melhorias mensuráveis no final do dia. Como já mencionado, para coletar, armazenar e processar uma quantidade tão grande de dados multiestruturados, os bancos de dados tradicionais, as plataformas de análise, as ferramentas ETL, entre outras são considerados insuficientes. É dentro do contexto do processo de análise de Big Data que as tecnologias e ferramentas do ecossistema Apache Hadoop estão sendo apontadas como a melhor maneira de extrair o conhecimento certo e relevante. O Hadoop é um projeto de software de código aberto que fornece processamento altamente confiável, escalável e distribuído de grandes conjuntos de dados usando modelos de programação simples. O programa foi desenvolvido em clusters de computadores de baixo custo, fornecendo uma solução barata para armazenar e processar grandes volumes de dados estruturados, semiestruturados e não estruturados, sem requisitos de formato. E essa característica do software é que o torna ideal para criar data lakes para suportar iniciativas de big data e análises. O seu framework pode ser dividido em quatro subprojetoss: Hadoop Common, onde estão as bibliotecas e os utilitários necessários para outros módulos; Hadoop Distributed File System (HDFS), que é a camada do sistema de arquivos distribuídos que coordena o armazenamento e a replicação entre os nós do cluster, o HDFS é tolerante a falhas 4 e altamente disponível; Hadoop Yarn (Yet Another Resource nogotiator), o qual é o componente de coordenação do cluster da pilha do Hadoop e responsável por coordenar e gerenciar os recursos subjacentes e agendar tarefas a serem executadas; e Hadoop MapReduce, que é o modelo de programação para escrever aplicações massivamente paralelas que processam grandes quantidades de dados estruturados e não estruturados armazenados no HDFS. Sendo que os elementos chave do Hadoop são o modelo de programação MapReduce e o sistema de arquivos distribuído HDFS. Apesar do Hadoop apresentar diversos benefícios, algumas desvantagens podem ser observadas no uso diário da ferramenta, como: dificuldade no processamento de arquivos pequenos, problemas com muito processamento com poucos dados, existência de um único nó mestre, entre outros. O artigo dá continuidade trazendo o conceito de MapReduce. Segundo o livro Hadoop – The Defition Guide, indicado pelo autor, o MapReduce é um modelo de programação que permite o processamento de dados massivos em um algoritmo paralelo e distribuído, geralmente em um cluster de computadores. Essa característica é uma das características que atrai tanto para o seu uso. O Hadoop roda programas MapReduce escritos em várias linguagens utilizando todo o poder de processamento do cluster. Toda a computação paralela desenvolvida no Hadoop é dividida em duas etapas: Map, que é o mapeamento e validação dos dados; e Reduce, que utiliza como entrada o resultado da etapa Map anterior, gerando o resultado. O Hadoop YARN atuará no gerenciamento das tarefas e os dados de entrada serão divididos em pedaços de tamanho fixo (input splits) e vinculados a uma tarefa do tipo Map para cada split. Associado o Map com o input split, este executará a função no programa para cada registro do split em um ou mais nós do cluster. Ao terminar a fase de Map, os resultados intermediários são então direcionados para uma ou mais tarefas do tipo Reduce. A ideia é aplicar a função definida pelo cliente para transformar os dados resultantes através de funções de agrupamento e, então, armazenar o resultado no HDFS. Explicados o Hadoop e o MapReduce, o artigo parte para a execução de um exemplo prático que envolve todos os principais conceitos e fundamentos da ferramenta apresentada, mostrando, na prática, o poder dessa ferramenta. O objetivo do código implementado é processar o dataset MovieLens que tem disponível diversos dados de vários tamanhos de filmes, coletados durante vários períodosno tempo. A partir disso, obter as informações já 5 mencionadas anteriormente. O autor utiliza a linguagem Java, o software IDE Eclipse para o desenvolvimento em Java, o Maven, que é um ferramenta de automação de compilação, e a biblioteca do hadoop-core. Além disso, ele só analisa filmes em que ano de lançamento esteja em conformidade com o padrão da avaliação, essa metodologia de análise permitirá resultados mais precisos. Uma relevante orientação dada no artigo é que para pessoas que não possuem experiência no Hadoop, é indicado o uso do Cloudera QuickStart VM, que é um ambiente de desenvolvimento pronto, virtualizado, incluindo a ferramenta Eclipse, o que torna o aprendizado do Hadoop, MapReduce, entre outros mais rápido e evita que o desenvolvedor tenha que focar em configurações de arquivos e variáveis de ambiente. O artigo insere bem o Big Data dentro do contexto atual de análise de dados e o uso do Hadoop para o processamento desse grande volume de dados, apresentando de forma clara os principais conceitos e fundamentos desta ferramenta e da sua arquitetura. Ele também explica muito o MapReduce e o seu poder de processamento de grande volume de dados em paralelo, dividindo o trabalho em um conjunto de tarefas independentes. O autor consegue, através do exemplo proposto, apresentar de forma simples e a aplicação do Hadoop no processamento de uma grande massa de dados, inclusive exibindo trechos do código e os resultados do experimento realizado. Dessa maneira, ele une as informações teóricas com uma demonstração prática que facilita a visualização do que foi apresentado.
Compartilhar