Buscar

FRAMEWORKS PARA BIG DATA - Atividade 1 - 2022

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 21 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 21 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 21 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

15/04/2021 Ead.br
https://uniritter.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_669888_1… 1/21
FRAMEWORKS PARA BIG DATAFRAMEWORKS PARA BIG DATA
CONCEITOS DE FRAMEWORKS PARACONCEITOS DE FRAMEWORKS PARA
BIG DATABIG DATA
Autor: Esp. Daniel Brandão
Revisor : Everton Gomede
I N I C I A R
15/04/2021 Ead.br
https://uniritter.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_669888_1… 2/21
introdução
Introdução
Nesta unidade, você será apresentado aos conceitos de frameworks aplicados a Big Data.
Lidar com esse “grande volume de dados” é algo relativamente recente, sendo importante
entender bem esse fenômeno, porque a expansão do volume de dados não foi algo
planejado. Como forma de compreender técnicas e ferramentas que auxiliem no
processamento de grandes volumes de dados, você verá o que é e qual a importância de
frameworks e sistemas como o framework Apache Hadoop e toda sua estrutura. A partir
disso, serão apresentados os conceitos de clusterização, gerenciamento de sistemas de
arquivos distribuídos e técnicas de computação distribuída, como HDFS e MapReduce.
Portanto, ao �nal desta unidade, espera-se que você entenda os conceitos e aplicações de
computação distribuída e como o uso de ferramentas e frameworks colabora com o
processamento dessa imensidão de dados dos tempos modernos.
15/04/2021 Ead.br
https://uniritter.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_669888_1… 3/21
Big Data está em todo lugar, mas lidar com todo esse grande volume de dados não estava
nos planos dos primórdios da computação. Você pode perceber isso quando veri�ca que
os sistemas computacionais, em nível de hardware e software, não foram criados para lidar
com todos esses dados, simplesmente porque não existiam todos esses dados. Big Data,
como conhecemos, existe desde 2001, e apenas a partir deste ano empresas e instituições
passaram a compreender e a então desenvolver tecnologias para lidar com o novo
fenômeno da era da informação. Dessa revolução, surgiram soluções como o Apache
Hadoop, criado pela Apache Foundation, uma fundação por trás de várias tecnologias que
lidam com formas de uso e tratamento de dados. A grande vantagem da existência de
instituições como a Fundação Apache é que a pesquisa na área de dados tem se expandido
a tal ponto que o mercado recente permite que tanto grandes empresas da área de
tecnologia como pequenas startups possam participar desse processo de desenvolvimento
de tecnologias capazes de processar a enxurrada de dados gerados diariamente.
A Fundação Apache, desenvolvedora do Hadoop, o de�ne como “uma estrutura que
permite o processamento distribuído de grandes conjuntos de dados entre clusters de
computadores usando modelos de programação simples” (APACHE, 2019, on-line). Baseado
nessa a�rmação, perceba que o conceito de computação distribuída aparece entrelaçado
ao do uso de frameworks, que lidam com dados diretamente. Mas Hadoop não é apenas
um framework. Hoje, esse nome é signi�cado de um verdadeiro ecossistema que garante
não apenas acesso a vários conjuntos de dados, como também seu tratamento e aporte
deles. A IBM, gigante da área de TIC (Tecnologia da Informação e Comunicação), apresenta
o Hadoop como:
Introdução ao HadoopIntrodução ao Hadoop
15/04/2021 Ead.br
https://uniritter.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_669888_1… 4/21
[...] uma plataforma de código aberto que oferece processamento altamente
con�ável, escalável e distribuído de grandes conjuntos de dados usando modelos
de programação simples. O Hadoop é construído em clusters de computadores
comuns, fornecendo uma solução econômica para armazenar e processar
grandes quantidades de dados estruturados, semi e não estruturados, sem
requisitos de formato. Isso torna o Hadoop ideal para a construção de lagos de
dados para apoiar iniciativas de análise de big data (IBM, 2019, on-line).
Logo, podemos a�rmar que Hadoop não se trata apenas de um framework, mas de uma
arquitetura ou plataforma que engloba módulos capazes de trabalhar e processar um
grande volume de dados de diversos conjuntos distintos. A partir dessa de�nição, você
pode compreender a importância que um conjunto de ferramentas quando se trata de
lidar com dados distribuídos e oriundos de fontes distintas. A computação distribuída é a
forma como melhor podemos descrever o uso de frameworks e plataformas como o
Hadoop. A Figura 1.1 apresenta os principais pontos que demonstram a importância do
Hadoop:
Todos os itens apresentados na Figura 1.1 são considerados pontos positivos e principais
característica do ecossistema Hadoop. A seguir, veja a descrição de cada um desses
elementos (HADOOP…, 2019, on-line):
Velocidade e grande capacidade de armazenamento: a plataforma foi criada
para trabalhar com muitos e diferentes tipos de conjuntos de dados.
Tolerância a falhas: sua estrutura permite que os dados estejam em diferentes
nós, em que cada um deles se replica. Logo, se um nó cair, o sistema consegue
redirecionar para outro, utilizando a capacidade de computação distribuída.
Escalabilidade: ele já possui uma interface que facilita o crescimento do sistema,
permitindo sempre serem adicionados outros nós de dados.
Figura 1.1 - Representação da importância do Hadoop 
Fonte: Elaborada pelo autor.
15/04/2021 Ead.br
https://uniritter.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_669888_1… 5/21
Poder Computacional: por trabalhar com a ideia de clusterização, quanto mais
nós se adicionam, maior o poder de processamento dos dados.
Baixo custo: por ser open-source (código-fonte aberto), é gratuito e não requer
grandes servidores para rodar. É possível clusterizar (uni�car) computadores ou
servidores de menor porte.
Flexibilidade: a plataforma Hadoop é mais �exível, pois não requer que os dados
armazenados sejam pré-processados. Você pode apenas armazená-los para
depois decidir o que vai ser feito com eles.
Como você pode perceber, as vantagens de uma plataforma como Hadoop para lidar com
grande volume de dados são grandes. É claro que existem detalhes importantes e cuidados
ao se implantar uma plataforma como essa, mas é inegável que seu conjunto de
ferramentas é capaz de acelerar o processo de descoberta de novos conhecimentos a
partir de uma enxurrada de dados.
Portanto, para que se utilizem bem os conceitos de computação distribuída, vários
aspectos precisam ser levados em consideração, objetivando levá-lo a compreender todo o
processo envolvido no uso prático de tais sistemas.
ti
saiba mais
Saiba mais
A Apache Software Foundation é uma instituição sem �ns lucrativos cujo objetivo é fomentar
tecnologias aplicadas à web. Aberta a participação da comunidade de desenvolvimento e TI, ela
produz hoje as principais ferramentas quando falamos de dados na web. Além do Hadoop,
apresenta outras, como: HBase, Cassandra, Spark, Tomcat, entre outras. Saiba mais sobre a
fundação Apache e seus projetos no site.
ACESSAR
https://httpd.apache.org/docs/trunk/pt-br/
15/04/2021 Ead.br
https://uniritter.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_669888_1… 6/21
praticar
Vamos Praticar
Sobre o conceito representado pela plataforma Hadoop, analise o texto a seguir:
“Um dos grandes desa�os computacionais da atualidade é armazenar, manipular e analisar, de
forma inteligente, a grande quantidade de dados existente. Sistemas corporativos, serviços e
sistemas Web, mídias sociais, entre outros, produzem juntos um volume impressionante de
dados, alcançando a dimensão de petabytes diários. A maioria desses dados é armazenada em
uma forma não estruturada e em sistemas, linguagens e formatos bem diferentes e, em muitos
casos, incompatíveis entre si”.
GOLDMAN et al. Apache Hadoop: conceitos teóricos e práticos, evolução e novas
possibilidades. RibeirãoPreto, 2012.
De acordo com o que foi visto e com o texto apresentado, assinale a alternativa que apresenta a
característica do Hadoop que representa a possibilidade de expansão do sistema com a inserção
de novos e grandes conjuntos de dados:
a) Escalabilidade.
b) Baixo custo.
c) Poder computacional.
d) Flexibilidade.
e) Tolerância a falhas.
15/04/2021 Ead.br
https://uniritter.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_669888_1… 7/21
A melhoria do desempenho do acesso a arquivos é um grande desa�o nos serviços em
nuvem em tempo real. Sistema distribuído é um conjunto de diferentes computadores que,
interligados através de uma rede, se apresentam ao usuário como um sistema único e com
coerência (TANENBAUM, 2015). Trabalhar com arquivos distribuídos requer uma estrutura
bem preparada para isso. É preciso analisar as pré-condições para lidar com esse
problema, considerando os aspectos de requisitos, hardware, software e ambientes de rede
na nuvem. Antes de tudo, a análise dos tipos diferentes de arquivos envolvidos faz toda a
diferença na escolha da técnica ou ferramenta ideal.
Dentro da arquitetura do Hadoop, existem diferentes ferramentas, cada uma com um
modelo de operação. Em um projeto de implementação de sistema de controle e
gerenciamento de arquivos distribuídos, ao descrever o design e a implementação de um
novo sistema distribuído em camadas, podemos nos basear nos modelos:
Hadoop Distributed File System (HDFS), para armazenamento de grandes
conjuntos de dados, de forma distribuída; [...] ou MapReduce, que tem por
responsabilidade o processamento distribuído (WHITE, 2010 apud GOLDMAN et
al., 2012).
Gerenciando Arquivos Distribuídos
Como você já deve ter percebido, no mundo dos dados é possível trabalhar com diferentes
sistemas na gestão de arquivos distribuídos. O Hadoop é baseado em um projeto lançado
em 2003 pela Google chamado GFS (Google File System), cujo objetivo era o de aprimorar o
Gerenciamento de Sistemas deGerenciamento de Sistemas de
Arquivos DistribuídosArquivos Distribuídos
15/04/2021 Ead.br
https://uniritter.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_669888_1… 8/21
mecanismo de busca da empresa, com a capacidade de gerenciar e processar os enormes
volumes de dados da Google (GOLDMAN et al., 2012). Logo, a necessidade de gerenciar
enormes arquivos de dados já não é tão recente, pois desde que os computadores se
tornaram ferramenta de trabalho comum nos ambientes empresariais e com a
popularização do acesso à Internet, o volume de dados só aumenta.
Os mecanismos de busca do princípio da web nos anos 1990 eram limitados, a�nal o
objetivo inicial da rede era o compartilhamento direto de dados entre uma entidade e
outra. Com o passar do tempo e o número de sites e sistemas web aumentando de
maneira exponencial, a coisa mudou de �gura. “No começo, eram os próprios seres
humanos quem devolvem os resultados de buscas; mas, à medida que a internet cresceu
de dezenas para milhares de páginas, a automação se tornou necessária” (HADOOP...,
2019, on-line). A partir da década de 2000, tornou-se inviável indexar (realizar uma
catalogação de sites da internet) manualmente, tornando necessário que sistemas
auxiliassem no processo. Assim, nasceu a corrida de empresas como Yahoo, AltaVista e
Google para acharem a melhor forma de realizar essa indexação de endereços na web, o
que realmente marcou a criação dos sites de busca. 
Um sistema de arquivos distribuídos “é caracterizado por fornecer fácil acesso aos seus
recursos sem revelar que os seus componentes são distribuídos pela rede, permitindo que
o conjunto possa ser expandido” (TANENBAUM; STEEN, 2007 apud FERNANDES, 2012, p. 5).
A evolução dos sistemas como os mecanismos de busca que precisam de um retorno
rápido e de con�ança teve um apoio fundamental em sistemas modernos que lidam
reflitaRe�ita
Os sistemas de arquivos distribuídos nasceram no intuito de acelerar o tempo de resposta em
mecanismos de busca. Os algoritmos por trás das buscas tornaram-se tão profundos que hoje, além
de buscar o que se pede, os sistemas sugerem termos antes mesmo de terminarmos de digitar o que
queremos. E vai além, com o uso do chamado SEO (acrônimo para Search Engine Optimization ou
otimização de mecanismo de busca, em português), em que os criadores de conteúdo para a Internet
conseguem elencar palavras-chaves e escrever textos de maneira a atingir um público especí�co com
seu conteúdo, dando um resultado maior no acesso ao seu conteúdo. Com isso, tudo o que digitamos
e, às vezes, até o que falamos é captado por nossos dispositivos, como os smartphones, como forma de
“aprimorar” nossa experiência com assistentes virtuais e mecanismos de busca. Mas até que ponto
isso é ético? Cabe a você re�etir sobre isso.
15/04/2021 Ead.br
https://uniritter.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_669888_1… 9/21
diretamente com um �uxo constante de arquivos lançados diariamente por sites, portais,
redes sociais e sistemas na internet. Com isso, tornou-se inviável e impraticável realizar
uma busca de conteúdo na web ou em grandes sistemas sem ter uma estrutura pensada e
planejada para isso, sempre tendo em mente a capacidade de escalar (acompanhar o
crescimento de) uma aplicação e seus conjuntos de dados.
praticar
Vamos Praticar
“O volume de dados cresce a uma velocidade surpreendente a cada ano, exigindo maiores
condições de armazenamento e processamento compatível. [...] A construção dos sistemas
distribuídos vem da motivação em compartilhar recursos computacionais de hardware, software e
dados. [...] Os principais atributos dos sistemas distribuídos são destacados pela transparência de
acesso e localização, desempenho, escalabilidade, controle de concorrência, tolerância a falhas e
segurança”.
FFERNANDES, S. E. N. Sistema de arquivos distribuído �exível e adaptável. 2013. 87
f. Mestrado (Dissertação em Ciências da Computação) – Departamento de Ciências de
Computação e Estatística, Universidade Estadual Paulista Júlio de Mesquita Filho, São
Paulo, 2012. p. 1.
De acordo com o texto apresentado e o que vimos neste tópico, assinale a alternativa correta que
apresenta a relação entre sistemas de arquivos distribuídos e mecanismos de busca na Internet:
a) Nenhuma relação, visto que os mecanismos de busca não se baseiam em arquivos, mas apenas em dados
puros.
b) Baixa relação, uma vez que os mecanismos de busca usam dados apenas hospedados em bancos de dados
relacionais.
c) Existe uma ligação, porém impossível de ser medida, pois os mecanismos de busca são verdadeiras “caixas-
pretas”.
d) Relação direta, pois todo site ou sistema da web é baseado em arquivos, seja com dados, seja com textos por
meio de código-fonte.
e) A ligação existente é a forma como a busca acontece, uma vez que os arquivos estão distribuídos nos
computadores de usuários comuns.
15/04/2021 Ead.br
https://uniritter.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_669888_… 10/21
Hadoop Distributed File System (HDFS) trata-se do sistema de arquivos distribuídos com
Hadoop e, como você viu anteriormente, é uma das formas de a plataforma Hadoop
trabalhar. Esse sistema de arquivos “foi inspirado pelo MapReduce (apresentado pelo
Google) e pelo Google File System” (HUANG; NIE, 2016). O Hadoop HDFS consiste no uso de
caches em uma biblioteca cliente e em vários serviços de cache. Os serviços de cache são
projetados com três camadas de acesso: um cache na memória, uma captura instantânea
do disco local e a exibição real do disco, fornecido pelo HDFS. Os arquivos carregados do
HDFS são armazenados em cache na memória compartilhada, que pode ser acessada
diretamente por uma biblioteca e um sistema cliente. 
Computação Distribuída (HDFS)Computação Distribuída (HDFS)
saiba mais
Saiba mais
Você sabe o que é cache? É o uso de um espaço de memória em que se armazena dadosde
maneira temporária. Um navegador em seu computador ou smartphone faz uso de cache para
guardar dados relativos a um site ou sistema web que você tenha acessado. Esse processo
permite que, quando você voltar a uma página já acessada, os dados sejam carregados mais
rápido. Os navegadores armazenam os dados em chamados Cookies, que são arquivos de textos
que �cam armazenados no dispositivo do usuário. Cache pode ser utilizado em computadores
pessoais e em servidores web. Para saber mais sobre seu uso em servidores, leia o artigo
completo.
ACESSAR
https://aws.amazon.com/pt/caching/
15/04/2021 Ead.br
https://uniritter.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_669888_… 11/21
A computação distribuída requer que elementos de interação sejam utilizados. Com isso,
caches e cookies são ferramentas muito úteis para garantir o acoplamento ou aproximação
entre usuários de sistemas e os servidores em que estas aplicações estão alocadas.
Utilizando HDFS
Tecnicamente, ao utilizar um sistema de arquivos distribuídos com Hadoop, vários
aplicativos integrados a uma biblioteca cliente podem acessar um serviço de cache
simultaneamente. Os serviços de cache são organizados no estilo Ponto a Ponto (P2P)
usando uma tabela hash distribuída. Cada arquivo em cache possui três cópias em
diferentes nós de serviço de cache, a �m de melhorar a robustez e aliviar a carga de
trabalho. Resultados experimentais mostram que o novo sistema de cache pode
armazenar arquivos com uma ampla variedade de tamanhos e tem desempenho excelente
de acesso aos arquivos, trabalhando com taxa de retorno em milissegundos para
ambientes altamente simultâneos.
Com sua estrutura em condições ideais, o uso do HDFS em ambiente de servidor
preparado é um método e�caz de processamento e consulta a dados em arquivos em
tempo real. E, adotando novos métodos de construção de estrutura de índices, “o tempo
de resposta da consulta para conjuntos de dados armazenados no HDFS pode ser reduzido
signi�cativamente, evitando a pesquisa exaustiva nos conjuntos de dados correspondentes
na presença de estruturas de índice” (LIAO; HAN; FANG, 2010, p. 5).
A partir de 2011, com o surgimento de plataformas como Hadoop, a ideia básica adotada
por mecanismos de busca foi migrar da estrutura hierárquica convencional para o HDFS.
Nisso, vários problemas, incluindo organização de índice (indexação), tamanho de cada nó
do índice, gerenciamento de cache e protocolo de transferência de dados, foram
percebidos por reduzir o tempo de resposta da consulta e a sobrecarga da transferência de
dados pela rede. Uma avaliação experimental demonstra que a estrutura de índice interna
pode melhorar e�cientemente o desempenho da consulta e servir como pilares para o
gerenciamento de dados estruturados ou semiestruturados. O Hadoop surgiu na época em
que o processamento em lote (batch) era a tecnologia em uso e
[...] o�-line, quando os dados eram capturados, armazenados e processados
periodicamente em lotes. Os motores de busca funcionavam com dados
coletados por rastreadores web e depois processados durante a noite para
oferecer resultados atualizados no dia seguinte (FAST DATA..., 2019, on-line).
Como apresentado por Fernandes (2012, p. 19), “A cache armazena blocos de arquivos,
diretórios e atributos de arquivos que foram lidos do disco”. Utilizando técnicas avançadas,
o processo de uso de cache se torna ainda mais rápido quanto ao seu retorno. Sobre isso,
15/04/2021 Ead.br
https://uniritter.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_669888_… 12/21
Fernandes (2012, p. 19) ainda fala que “uma forma de agregar maior agilidade à cache é
usando o método read-ahead, que antecipa quais serão os próximos blocos a serem lidos e
já procura carregá-los na memória”. Uma outra técnica que ajuda a tornar processos em
cache mais ágeis é a chamada delayed-write, que “consiste em protelar a efetivação dos
dados nos servidores em virtude das frequentes alterações que aquele arquivo possa
sofrer” (FERNANDES, 2012, p. 19).
No projeto do Google File System (GDS), algumas características e desa�os foram
propostos, que estão listados a seguir:
● Utilização de hardware de baixo custo com suporte à rápida recuperação de
falhas. 
● Manipulação e�ciente de arquivos grandes, na ordem de gigabytes, além do
suporte a arquivos pequenos. 
● Suporte para atualizações por anexação de dados aos arquivos em vez
sobrescrevê-los. 
● Semântica e�ciente para possibilitar vários usuários usando simultaneamente
o mesmo arquivo, com uma sobrecarga mínima de sincronização. 
● Preferência pela alta largura de banda em detrimento da baixa latência da
rede, pois o objetivo é processamento em massa em vez de exigências rigorosas
de tempo de resposta para um usuário ler ou escrever (GHEMAWAT; GOBIOFF;
LEUNG, 2003 apud FERNANDES, 2012, p. 24).
Na prática, os serviços web acabam por realizar um balanceamento do armazenamento de
dados sobre arquivos e páginas web, em que o cache é armazenado tanto nos servidores
web das empresas de hospedagem como nos computadores, smartphones e dispositivos
dos usuários. No �nal, os dados do cliente �cam armazenados no seu próprio dispositivo e,
ao acessar o sistema ou website novamente, os dados são resgatados e utilizados,
acelerando o acesso aos dados e o carregamento do site em questão.
praticar
Vamos Praticar
Leia o trecho a seguir:
“[...] Embora o HDFS (Hadoop Distributed File System) seja uma solução de armazenamento
popular para clientes Hadoop, ele pode ser operacionalmente complexo, por exemplo, ao manter
15/04/2021 Ead.br
https://uniritter.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_669888_… 13/21
clusters de HDFS de longa execução. O Google Cloud Storage é um armazenamento de objetos
uni�cado que expõe dados por meio de uma API uni�cada. É uma solução gerenciada que suporta
casos de uso de alto desempenho e arquivamento. Ao conectar uma aplicação ao servidor em
nuvem, o serviço executa dentro de uma Máquina Virtual Java o Hadoop, o que permite que
processos de big data, como trabalhos do Hadoop ou Spark, acessem os dados subjacentes do
Google Cloud Storage”.
WEARE, K. Google Introduces Cloud Storage Connector for Hadoop Big Data Workloads.
InfoQ, set. 2019. Disponível em: https://www.infoq.com/news/2019/09/Google-Cloud-
Storage-Hadoop/. Acesso em: 25 dez. 2019.
Diante do exposto, sobre sistemas de arquivos distribuídos assinale a alternativa correta:
a) Escalabilidade e confiabilidade são características críticas do sistema; elas devem ser consideradas desde o
início, e não em algum estágio do projeto.
b) Os usuários processam os dados em massa e estão menos preocupados com o tempo de resposta.
c) O modelo de consistência deve ser simplificado na implementação do sistema, com a maior responsabilidade
então sob os desenvolvedores de aplicativos.
d) O uso de cache é utilizado preferencialmente na arquitetura, em que os dados fiquem armazenados apenas
nos computadores dos usuários, e não em servidores.
e) Eliminar o cache do lado cliente e concentrar o armazenamento em servidor para que o usuário não fique
sobrecarregado provavelmente melhora o desempenho.
https://www.infoq.com/news/2019/09/Google-Cloud-Storage-Hadoop/
15/04/2021 Ead.br
https://uniritter.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_669888_… 14/21
A computação distribuída possui diferentes modos. Como você já viu, o ecossistema
Hadoop possui a ferramenta HDFS para trabalhar com arquivos distribuídos. Com a
proposta de uni�car dados e articular processos com arquivos, HDFS é uma ótima solução,
visto que uni�ca a visão de arquivos de diferentes formatos e vindos de fontes distintas.
Porém, para fortalecer a forma de trabalho através da clusterização ou do paralelismo, foi
criado o framework MapReduce.
O Hadoop foi projetado partindo do pressuposto que a falha do hardware no qualestão os
arquivos e os dados é uma regra e não uma exceção. Mais cedo ou mais tarde, todo o
hardware apresenta falhas, e o sistema deve ser robusto e capaz o su�ciente para lidar com
as falhas de hardware que venham a acontecer.
Hadoop MapReduce é, portanto, um framework, uma técnica ou paradigma de
programação que permite que usuários criem programas e aplicações divididos em
componentes, podendo, assim, permitir que os dados sejam processados paralelamente.
Com essa divisão modular, a aplicação passa a funcionar estando em cluster, com duas
subdivisões de código: Map e Reduce.
Map
A tarefa de Map (mapa) é realizada utilizando uma função chamada map() que,
basicamente, executa uma �ltragem e classi�cação dos dados. Essa etapa tem a
responsabilidade de realizar o processo de um ou mais blocos de dados, produzindo
resultados comumente chamados de resultados intermediários.
Computação Distribuída – MapReduceComputação Distribuída – MapReduce
15/04/2021 Ead.br
https://uniritter.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_669888_… 15/21
Em geral, a tarefa de mapeamento é processada em paralelo, desde que as operações de
mapeamento sejam independentes entre si. O esquema apresentado na Figura 1.2
representa como a estrutura Map recebe os dados (inputs):
Na �gura, temos o conceito de entrada (inputs), a tarefa Map sendo executada neles e,
após isso, o resultado sendo apresentado como saída. Essa seria a primeira etapa do
processo MapReduce.
Reduce
A tarefa Reduce é executada por meio da função reduce(). Essa função é a responsável pela
consolidação dos resultados produzidos por meio de cada uma das tarefas Map. Essa
função entra em ação logo após a etapa de tarefa Map, conforme podemos ver na Figura
1.3:
Na Figura 1.3, temos a demonstração completa do �uxo de trabalho. Na parte superior,
percebemos as tarefas Map sendo executadas, com os dados de entrada (inputs) e
Figura 1.2 - Estrutura em cluster da tarefa Map 
Fonte: Elaborada pelo autor.
Figura 1.3 - Estrutura em cluster das tarefas Map e Reduce 
Fonte: Elaborada pelo autor.
15/04/2021 Ead.br
https://uniritter.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_669888_… 16/21
gerando resultados preliminares ou intermediários. Após, os resultados são recebidos e
processados pela tarefa Reduce, onde ali, sim, são otimizados e gerado um resultado �nal
de apresentação de resultados. Os resultados da tarefa Map são lidos pelas tarefas Reduce
embaralhados (Shu�ed). Após esse processo, os resultados podem ser armazenados em
HDFS, comprovando, assim, que MapReduce e HDFS são complementares e não
concorrentes.
Exemplo de uso do MapReduce
Para melhor entender, vamos a um exemplo clássico do MapReduce: a contagem de
palavras. O programa de contagem de palavras é o código-base utilizado para entender o
funcionamento do paradigma de programação MapReduce. O programa consiste no
trabalho MapReduce que conta o número de ocorrências de cada palavra em um arquivo.
O trabalho a ser realizado consiste em duas partes: mapear e reduzir.
A tarefa Mapa mapeia os dados no arquivo e conta cada palavra no pedaço de dados
fornecido para a função de mapa. O resultado dessa tarefa é passado para reduzir a tarefa
que combina e reduz os dados para gerar o resultado �nal. A ideia é que sejam dadas de
entrada todas as palavras contidas em um arquivo. Primeiramente, a função map() faz um
ajuntamento das palavras iguais, agrupando-as pela similaridade.
A segunda etapa é feita pelo algoritmo utilizando o método reduce(), que é o que reduz o
total de palavras iguais, deixando apenas uma ocorrência de cada, mas contabilizando o
total de cada uma delas. Os dados �cam dispostos nos chamados nós, e o resultado é dado
com o apresentado anteriormente na Figura 1.3.
Portanto, as tarefas Map e Reduce têm suas funções de mesmo nome delas, que possuem
funcionalidades distintas, porém complementares. Com a execução dessas tarefas em
servidores em cluster, com um número gigante de arquivos e dados a serem processados,
o resultado na resposta é acelerado, e a obtenção de valor das informações é o que torna
esse framework tão útil.
praticar
Vamos Praticar
15/04/2021 Ead.br
https://uniritter.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_669888_… 17/21
Por um bom tempo, os dados foram tratados como um problema geral, por apenas representar
frações de um evento sem qualquer objetivo relevante. Buscando signi�cado nos dados e
tentando resolver problemas de escalabilidade, muitas estruturas foram desenvolvidas para
melhorar o armazenamento de dados e sua análise. Como um ecossistema, o Hadoop foi
apresentado como um conjunto de ferramentas poderosas para lidar com grandes quantidades
de dados. O framework Hadoop MapReduce foi uma dessas ferramentas.
Sobre a estrutura MapReduce, assinale a alternativa correta:
a) A fase Map é a responsável por gerar os resultados definitivos.
b) A fase Map executa duas funções: Map (responsável pela entrada dos dados) e Reduce (responsável pela
saída dos dados).
c) A fase Reduce gera resultados parciais ou preliminares.
d) A fase Reduce utiliza a função reduce(), que recebe os resultados preliminares da fase anterior.
e) As fases Map e Reduce podem ser executadas em qualquer ordem (com Reduce sendo a primeira ou segunda,
por exemplo).
15/04/2021 Ead.br
https://uniritter.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_669888_… 18/21
indicações
Material Complementar
LIVRO
Analítica de dados com Hadoop: uma introdução
para cientistas de dados
Benjamin Bengfort e Jenny Kim
Editora: Novatec
ISBN: 978-85-752-2521-9
Comentário: esse livro traz uma visão prática de uso de técnicas
de estatística e aprendizagem de máquina para processamento
de grandes conjuntos de dados com as ferramentas Hadoop. Os
autores apresentam como utilizar ferramentas como MapReduce,
Hive, HBase e Spark, todas do ecossistema Apache Hadoop ou
complementares a ele. Uma abordagem mão na massa para
análise de grandes dados.
WEB
Susan Etlinger: o que fazer com todos esses
megadados?
15/04/2021 Ead.br
https://uniritter.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_669888_… 19/21
Tipo: Palestra
 Comentário: nessa palestra na TED 2014, Susan Etlinger explica
como o universo do Big Data deve ser explicado em virtude do
acúmulo desses dados e da perspectiva do futuro dos dados. Em
12 minutos, ela sintetiza, com exemplos práticos, a importância
de nossa sociedade pensar no que fazer com tantos dados, sob
risco de nos tornarmos irrelevantes.
A C E S S A R
https://www.youtube.com/watch?v=AWPrOvzzqZk
15/04/2021 Ead.br
https://uniritter.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_669888_… 20/21
conclusão
Conclusão
Ao término desta unidade, você pode perceber que trabalhar com arquivos distribuídos
pode ser uma tarefa muito difícil se não forem utilizadas as ferramentas certas no
processo. Podemos concluir também que o uso do framework Hadoop é de fundamental
importância para projetos maiores e mais complexos, visto que o ecossistema criado pela
fundação Apache não apresenta apenas uma ferramenta, mas um conjunto delas, como
HDFS e MapReduce, em que se é capaz de criar um ambiente propício para lidar com
grandes volumes de dados. Ao �nal desta unidade, espera-se que você tenha em mente
que lidar com Big Data já não é uma tendência, mas uma necessidade dos dias atuais e que
diariamente mais organizações de todos os portes terão que lidar com um volume cada vez
maior de dados. Logo, estruturas que apoiem essas empresas e instituições serão sempre
bem-vindas e o pro�ssional que as dominar estará um passo à frente em sua carreira.
referências
Referências Bibliográ�cas
APACHE. Home. Disponível em: https://cwiki.apache.org/con�uence/display/hadoop.
Acesso em: 28 nov.2019.
FAST Data: a evolução do Big Data. Data Sciency Academy, nov. 2019. Disponível em:
http://datascienceacademy.com.br/blog/fast-data-a-evolucao-do-big-data/. Acesso em: 5
nov. 2019.
FERNANDES, S. E. N. Sistema de arquivos distribuído �exível e adaptável. 2012. 87 f.
Mestrado (Dissertação em Ciências da Computação) – Departamento de Ciências de
Computação e Estatística, Universidade Estadual Paulista Júlio de Mesquita Filho, São Paulo,
2012. Disponível em: https://www.dcce.ibilce.unesp.br/spd/pubs/dissertacaoSilas.pdf.
Acesso em: 6 nov. 2019.
https://cwiki.apache.org/confluence/display/hadoop
http://datascienceacademy.com.br/blog/fast-data-a-evolucao-do-big-data/
https://www.dcce.ibilce.unesp.br/spd/pubs/dissertacaoSilas.pdf
15/04/2021 Ead.br
https://uniritter.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_669888_… 21/21
GOLDMAN, A.; KON, F.; JÚNIOR, F.; POLATO, I.; PEREIRA, R. de F. Apache Hadoop: conceitos
teóricos e práticos, evolução e novas possibilidades. Disponível em:
http://www.inf.ufsc.br/~bosco.sobral/ensino/ine5645/JAI_2012_Cap%203_Apache%20Hadoop.pdf
Acesso em: 5 nov. 2019.
HADOOP. O que é e qual sua importância? Portal SAS, [2019]. Disponível em:
https://www.sas.com/pt_br/insights/big-data/hadoop.html. Acesso em: 4 nov. 2019.
HUANG, Y. M.; NIE, Z. H. Computação em nuvem com Linux e Apache Hadoop. IBM
Developer, nov. 2009. Disponível em:
https://www.ibm.com/developerworks/br/linux/library/au-cloud_apache/index.html. Acesso
em: 5 nov. 2019.
IBM. Apache Hadoop. [2019]. Disponível em: https://www.ibm.com/br-
pt/analytics/hadoop. Acesso em: 4 nov. 2019.
LIAO, H.; HAN, J.; FANG, J. Multi-dimensional Index on Hadoop Distributed File System. In:
INTERNATIONAL CONFERENCE ON NETWORKING, ARCHITECTURE AND STORAGE, 5., 2010,
Macau. Anais [...]. Macau: IEEE, 2010. Disponível em:
https://ieeexplore.ieee.org/abstract/document/5575646. Acesso em: 5 nov. 2019.
LIMPAR o cache e os cookies. Ajuda do conta do Google. Disponível em:
https://support.google.com/accounts/answer/32050?hl=pt-BR. Acesso em: 5 nov. 2019.
TANENBAUM, A. S. Sistemas operacionais modernos. 4. ed. São Paulo: Pearson
Universidades, 2015.
http://www.inf.ufsc.br/~bosco.sobral/ensino/ine5645/JAI_2012_Cap%203_Apache%20Hadoop.pdf
https://www.sas.com/pt_br/insights/big-data/hadoop.html
https://www.ibm.com/developerworks/br/linux/library/au-cloud_apache/index.html
https://www.ibm.com/br-pt/analytics/hadoop
https://ieeexplore.ieee.org/abstract/document/5575646
https://support.google.com/accounts/answer/32050?hl=pt-BR

Continue navegando