Buscar

APOSTILA - Frameworks para Big Data - UNIDADE 1 (ANHEMBI MORUMBI UAM) CURTA SE LHE AJUDOU! ;D

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 24 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 24 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 24 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

31/08/2022 18:21 Ead.br
https://student.ulife.com.br/ContentPlayer/Index?cd=XpJviJfZzrBL3zwzWOnxog%3d%3d&l=fa0zizTD71IftEQM5t6Ilg%3d%3d&lc=q1SIhaDtwFx… 1/24
introdução
FRAMEWORKS PARA BIG DATAFRAMEWORKS PARA BIG DATA
CONCEITOS DE FRAMEWORKSCONCEITOS DE FRAMEWORKS
PARA BIG DATAPARA BIG DATA
Autor: Esp. Daniel Brandão
Revisor : Everton Gomede
IN IC IAR
31/08/2022 18:21 Ead.br
https://student.ulife.com.br/ContentPlayer/Index?cd=XpJviJfZzrBL3zwzWOnxog%3d%3d&l=fa0zizTD71IftEQM5t6Ilg%3d%3d&lc=q1SIhaDtwFx… 2/24
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.
31/08/2022 18:21 Ead.br
https://student.ulife.com.br/ContentPlayer/Index?cd=XpJviJfZzrBL3zwzWOnxog%3d%3d&l=fa0zizTD71IftEQM5t6Ilg%3d%3d&lc=q1SIhaDtwFx… 3/24
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
31/08/2022 18:21 Ead.br
https://student.ulife.com.br/ContentPlayer/Index?cd=XpJviJfZzrBL3zwzWOnxog%3d%3d&l=fa0zizTD71IftEQM5t6Ilg%3d%3d&lc=q1SIhaDtwFx… 4/24
[...] 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.
Figura 1.1 - Representação da importância do Hadoop 
Fonte: Elaborada pelo autor.
31/08/2022 18:21 Ead.br
https://student.ulife.com.br/ContentPlayer/Index?cd=XpJviJfZzrBL3zwzWOnxog%3d%3d&l=fa0zizTD71IftEQM5t6Ilg%3d%3d&lc=q1SIhaDtwFx… 5/24
Escalabilidade: ele já possui uma interface que facilita o crescimento do sistema,
permitindo sempre serem adicionados outros nós de dados.
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.
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/
31/08/2022 18:21 Ead.br
https://student.ulife.com.br/ContentPlayer/Index?cd=XpJviJfZzrBL3zwzWOnxog%3d%3d&l=fa0zizTD71IftEQM5t6Ilg%3d%3d&lc=q1SIhaDtwFx… 6/24
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ão Preto, 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.
31/08/2022 18:21 Ead.br
https://student.ulife.com.br/ContentPlayer/Index?cd=XpJviJfZzrBL3zwzWOnxog%3d%3d&l=fa0zizTD71IftEQM5t6Ilg%3d%3d&lc=q1SIhaDtwFx… 7/24
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
Gerenciamento de Sistemas deGerenciamento de Sistemas de
Arquivos DistribuídosArquivos Distribuídos
31/08/2022 18:21 Ead.br
https://student.ulife.com.br/ContentPlayer/Index?cd=XpJviJfZzrBL3zwzWOnxog%3d%3d&l=fa0zizTD71IftEQM5t6Ilg%3d%3d&lc=q1SIhaDtwFx… 8/24
em 2003 pela Google chamado GFS (Google File System), cujo objetivo era o de aprimorar
o 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
reflita
Re�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.
31/08/2022 18:21 Ead.br
https://student.ulife.com.br/ContentPlayer/Index?cd=XpJviJfZzrBL3zwzWOnxog%3d%3d&l=fa0zizTD71IftEQM5t6Ilg%3d%3d&lc=q1SIhaDtwFx… 9/24
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
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.
31/08/2022 18:21 Ead.br
https://student.ulife.com.br/ContentPlayer/Index?cd=XpJviJfZzrBL3zwzWOnxog%3d%3d&l=fa0zizTD71IftEQM5t6Ilg%3d%3d&lc=q1SIhaDtwFx… 10/24
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.
31/08/2022 18:21 Ead.br
https://student.ulife.com.br/ContentPlayer/Index?cd=XpJviJfZzrBL3zwzWOnxog%3d%3d&l=fa0zizTD71IftEQM5t6Ilg%3d%3d&lc=q1SIhaDtwFx… 11/24
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 locale 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ídaComputação Distribuída
(HDFS)(HDFS)
31/08/2022 18:21 Ead.br
https://student.ulife.com.br/ContentPlayer/Index?cd=XpJviJfZzrBL3zwzWOnxog%3d%3d&l=fa0zizTD71IftEQM5t6Ilg%3d%3d&lc=q1SIhaDtwFx… 12/24
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).
saiba mais
Saiba mais
Você sabe o que é cache ? É o uso de um espaço de
memória em que se armazena dados de 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/
31/08/2022 18:21 Ead.br
https://student.ulife.com.br/ContentPlayer/Index?cd=XpJviJfZzrBL3zwzWOnxog%3d%3d&l=fa0zizTD71IftEQM5t6Ilg%3d%3d&lc=q1SIhaDtwFx… 13/24
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,
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).
31/08/2022 18:21 Ead.br
https://student.ulife.com.br/ContentPlayer/Index?cd=XpJviJfZzrBL3zwzWOnxog%3d%3d&l=fa0zizTD71IftEQM5t6Ilg%3d%3d&lc=q1SIhaDtwFx… 14/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
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 con�abilidade 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 simpli�cado 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 �quem
armazenados apenas nos computadores dos usuários, e não em servidores.
https://www.infoq.com/news/2019/09/Google-Cloud-Storage-Hadoop/
31/08/2022 18:21 Ead.br
https://student.ulife.com.br/ContentPlayer/Index?cd=XpJviJfZzrBL3zwzWOnxog%3d%3d&l=fa0zizTD71IftEQM5t6Ilg%3d%3d&lc=q1SIhaDtwFx… 15/24
e) Eliminar o cache do lado cliente e concentrar o armazenamento em servidor para que o
usuário não �que sobrecarregado provavelmente melhora o desempenho.
31/08/2022 18:21 Ead.br
https://student.ulife.com.br/ContentPlayer/Index?cd=XpJviJfZzrBL3zwzWOnxog%3d%3d&l=fa0zizTD71IftEQM5t6Ilg%3d%3d&lc=q1SIhaDtwFx…16/24
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 qual estã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 –Computação Distribuída –
MapReduceMapReduce
31/08/2022 18:21 Ead.br
https://student.ulife.com.br/ContentPlayer/Index?cd=XpJviJfZzrBL3zwzWOnxog%3d%3d&l=fa0zizTD71IftEQM5t6Ilg%3d%3d&lc=q1SIhaDtwFx… 17/24
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:
Figura 1.2 - Estrutura em cluster da tarefa Map 
Fonte: Elaborada pelo autor.
31/08/2022 18:21 Ead.br
https://student.ulife.com.br/ContentPlayer/Index?cd=XpJviJfZzrBL3zwzWOnxog%3d%3d&l=fa0zizTD71IftEQM5t6Ilg%3d%3d&lc=q1SIhaDtwFx… 18/24
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
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.
Figura 1.3 - Estrutura em cluster das tarefas Map e Reduce 
Fonte: Elaborada pelo autor.
31/08/2022 18:21 Ead.br
https://student.ulife.com.br/ContentPlayer/Index?cd=XpJviJfZzrBL3zwzWOnxog%3d%3d&l=fa0zizTD71IftEQM5t6Ilg%3d%3d&lc=q1SIhaDtwFx… 19/24
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
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 de�nitivos.
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).
31/08/2022 18:21 Ead.br
https://student.ulife.com.br/ContentPlayer/Index?cd=XpJviJfZzrBL3zwzWOnxog%3d%3d&l=fa0zizTD71IftEQM5t6Ilg%3d%3d&lc=q1SIhaDtwFx… 20/24
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
31/08/2022 18:21 Ead.br
https://student.ulife.com.br/ContentPlayer/Index?cd=XpJviJfZzrBL3zwzWOnxog%3d%3d&l=fa0zizTD71IftEQM5t6Ilg%3d%3d&lc=q1SIhaDtwFx… 21/24
Susan Etlinger: o que fazer com todos esses
megadados?
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.
ACESSAR
https://www.youtube.com/watch?v=AWPrOvzzqZk
31/08/2022 18:21 Ead.br
https://student.ulife.com.br/ContentPlayer/Index?cd=XpJviJfZzrBL3zwzWOnxog%3d%3d&l=fa0zizTD71IftEQM5t6Ilg%3d%3d&lc=q1SIhaDtwFx… 22/24
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 conjuntodelas, 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
https://cwiki.apache.org/confluence/display/hadoop
http://datascienceacademy.com.br/blog/fast-data-a-evolucao-do-big-data/
31/08/2022 18:21 Ead.br
https://student.ulife.com.br/ContentPlayer/Index?cd=XpJviJfZzrBL3zwzWOnxog%3d%3d&l=fa0zizTD71IftEQM5t6Ilg%3d%3d&lc=q1SIhaDtwFx… 23/24
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.
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.pd
. 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.
https://www.dcce.ibilce.unesp.br/spd/pubs/dissertacaoSilas.pdf
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
31/08/2022 18:21 Ead.br
https://student.ulife.com.br/ContentPlayer/Index?cd=XpJviJfZzrBL3zwzWOnxog%3d%3d&l=fa0zizTD71IftEQM5t6Ilg%3d%3d&lc=q1SIhaDtwFx… 24/24

Continue navegando