Buscar

trabalho_ECOSSISTEMA HADOOP

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.

Continue navegando