Buscar

Infraestrutura para data science e cloud computing - Uninassau

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

INFRAESTRUTURA DE o 
DATA SCIENCE E CLOUD 
COMPUTING 
PÁVIO DOMICIANO MUNIZ 
 
 
INFRAESTRUTURA DE o 
DATA SCIENCE E CLOUD 
COMPUTING 
PÁVIO DOMICIANO MUNIZ 
 
Presidente do Conselho de Administração Janguiê Diniz 
Diretor-presidente Jânyo Diniz 
Diretoria Executiva de Ensino Adriano Azevedo 
Diretoria Executiva de Serviços Corporativos Joaldo Diniz 
Diretoria de Ensino a Distância Enzo Moreira 
Autoria Prof. Pávio Domiciano Muniz 
Projeto Gráfico e Capa DP Content 
DADOS DO FORNECEDOR 
Análise de Qualidade, Edição de Texto, Design Instrucional, 
Edição de Arte, Diagramação, Design Gráfico e Revisão. 
O Ser Educacional 2019 
Rua Treze de Maio, nº 254, Santo Amaro 
Recife-PE - CEP 50100-160 
*Todos os gráficos, tabelas e esquemas são creditados à autoria, salvo quando indicada a referência. 
Informamos que é de inteira responsabilidade da autoria a emissão de conceitos. 
Nenhuma parte desta publicação poderá ser reproduzida por qualquer meio ou forma sem autorização. 
A violação dos direitos autorais é crime estabelecido pela Lei n.º 9.610/98 e punido pelo artigo 184 do Código Penal. 
Imagens de ícones/capa: O Shutterstock
 
ASSISTA 
Indicação de filmes, vídeos ou similares que trazem informações complementares ou 
aprofundadas sobre o conteúdo estudado. 
CITANDO 
Dados essenciais e pertinentes sobre a vida de uma determinada pessoa relevante para 
o estudo do conteúdo abordado. 
CONTEXTUALIZANDO 
Dados que retratam onde e quando aconteceu determinado fato; 
demonstra-se a situação histórica do assunto. 
CURIOSIDADE 
Informação que revela algo desconhecido e interessante sobre o assunto tratado. 
DICA 
Um detalhe específico da informação, um breve conselho, um alerta, uma informação 
privilegiada sobre o conteúdo trabalhado. 
EXEMPLIFICANDO 
Informação que retrata de forma objetiva determinado assunto. 
EXPLICANDO 
Explicação, elucidação sobre uma palavra ou expressão específica da área de conheci- 
mento trabalhada. 
INFRAESTRUTURA DE DATA SCIENCE E CLOUD COMPUTING (E> 
 
 
Unidade 1 - Introdução à infraestrutura de Data Science 
Objetivos da unidado ssa a TI RU Das a 13 
Utilização das ferramentas nos processos de administração de empresas .............memem 14 
O que é Big Data, seu histórico e principais desafios... riem 14 
Como o Big Data se parece... rir terteeeeeerteerereerrerteaeerrerrertsererreracencerreereeneereearerneerso 15 
Volume/velocidade/variedade/veracidade/valor .............. ri rrireeteeeereeeereeemeserreeeererrirees 16 
Visão goral sobre ambionta: Big Data... ssa soraia eita casdocasaçõão 18 
Como-&: composto um ambiente-de Big Data .sessesunesucoranassesersemaaiseseseasiasaaisisessacasinisaisacnuasásie 18 
Infraestrutura tecnológica: plataformas, linguagem e ambiente .................. sessao 19 
As linguagens que podem ser usadas com Big Data... emerson 20 
Como deve ser um ambiente apropriado para Big Data............cimeieeeeeeeeereeeneereresents 22 
Oque SMapReduco: anseia mena sans aaa 23 
Oque 6/ADES?. sesaasaraaraissenta aa aan aaa mata 25 
Infraestrutura para Data Science 
 
Integração entre Data Science e Big Data ....... eee rerrerrearee nte rrereerserrerrranness 27 
Capacidade 6; processamento sacas REU 28 
Troinamento:doimodelos analcos aa eras ars aa nai 29 
Tecnologias para coleta, armazenamento, análise e visualização de dados.................... 31 
Tecnologias:e ferramentas:de coleta ide dados ..snuenseesensisensersermvesemseranoenteamsassovnissenvoa 32 
Tecnologias e ferramentas de armazenamento de dados .............s imensas 34 
Ferramentas deranaliseide dados susana mara aU Ra rasca 37 
Ferramentas devisualização dodadoS assa ii aaa 39 
SIDIGZANDO ssscsciacisssisiiara ssnicipgisaniceppicenicappiianiccnisiás ranicsspoicaiicriss ici ini iscas ds sisapiçoca ini nacaspcessdnsia ass 40 
 
Referências bibliográficas.............. nn crrrereereerereerrereereereerersereereereeresersereereeeasenserseneeeases 42 
INFRAESTRUTURA DE DATA SCIENCE E CLOUD COMPUTING &
 
Unidade 2 - A base da infraestrutura do Data Science: Hadoop 
Objotivos da NI dAdO:.s saia asa RI possas ron 43 
 
Seek time x transfer time, o que faz diferença em soluções de Big Data.................... 52 
Rrquitótira AADOO eee e i SSnD 54 
Clystar HAdoo p=": EEE CS scan 54 
Processamento MapRoduce:s.cisacaaseacasssecaasaaiaaorsamasissascnsamsasesisniananisacscesassraacaniansegenssasscassascsnçisl 55 
Cache disinhuido o SOQUrançaL.smsaissaasnacesire raio acena nessa navais 56 
SOQUrAnÇa «ssiscaseissizs utaaio raia ima Te asa a caia 58 
Identidade do Sta asas a qa a gana 59 
Ecossistoma HadOop)ssuasusicca scrusaassicarsassarssisacioraisoidacra is esaeia Guesa ENCascaa casas quina aqu acusanca seas ansçã 59 
SS IITTOLEZAICÃO css 72 
Roforonicias DIbliográficas sa DD sa 14 
INFRAESTRUTURA DE DATA SCIENCE E CLOUD COMPUTING &
 
Unidade 3 - Infraestrutura de banco de dados para Data Science 
Ubjotivos da mnIdade ss isa a DIS a Sis as Duane 16 
 
Windows Aire ADINSIÇÃE canemsaneaasaaa caldas Rea ums ma 82 
DatabrickS! aasssaassissssssmiancamamassss ricaaamasa tecer aerea sanada Gta nacesStasaspUsagas copeRiesese Gas racsmnsaqdssrsuaigaantaço 83 
Domino/Data!ligbs!....cassssmemsissiiastasidonatorerotismestessiremmiinnicêveiisisveisocuniieemjiilishsstraesiioserrinsvoiimmeintesnitecssisênsuaioniio 84 
Introdução do Apacho Spark ca 85 
Spark FONTE -ssesssacacs sas aan cs aa sado seda dadas dic caad adia sagas csanm scene 88 
Sparicx Hailoojp:.......sssesnsscossiisesesrococnnireeisepocóseçondosopbom coisa pa reniiniobcenppcasêonsppnbbapanetnpaprtpinsommssesperevesessssosrareveperscõo 90 
ApáGho TEZ-=====2=ss TSE 92 
Apache STORM sasussazassasa asia rear asa SO Ta rc cce ainsi 93 
Bancoide dados NOSÓL .s.crecesasssssiasssosiririatnsira soro ni iccd caciques aci iss ida 95 
 
CouchDB.... 
SIT COtiZan (cimo se ceosssdsisos asia seda a a aid pg 
Referências bibliográficas. 
 
INFRAESTRUTURA DE DATA SCIENCE E CLOUD COMPUTING E
 
Unidade 4 - Infraestrutura de bancos de dados para Data Science 
Objetivos da unidade... errerteeseeereeereererereeerreerrereersereeereenerereeneecenreenemnsensereensenserreno 108 
Introdição do: Cloud! COM puta ssa seas ais iana sida sas nana 109 
Fundamentos de Cloud Computing.............................s...iss crsseensssensseensseenserensressensseeasseenserensssensseenss 109 
 
VITA NIZAÇÃO cessar svascansereraneameas 
Computação distribuída 
Armazenamento:;disinibuido:(SLorago) iss cmisanassiseincernanaamia masai aienc iron nessa 114 
Automação... essere 
Estrutura de cloud em contêineres 
Arquitetura:de:Cloud Computing asas sseessaamiaanaas an nsannamarauanasaasaaa 
Conceitos básicos, terminologias e modelos de serviços.................meemereseeseeesesenseseseremss 120 
Private; cioNA ssa oram uara pc CRP gas urge 120 
Public cloud 
Hybrid cloud 
Community Cloud seas DT TI Rae 121 
A importância:do cloud no cenário atial ..ssessucaaaaseceamsenisaeaaseseremeneenanaennaannama asas 122 
Características do Cloud Computing.................. sr ereemseerseereeermeerseereeereeereererereresermserseamsenss 123 
Tiposde Cloud Computing :s==2:2: 52220 MESA DI re 124 
Serviços em Cloud Computing para análise de Big Data... reremeerseeaseeass 126 
INFRAESTRUTURA DE DATA SCIENCE E CLOUD COMPUTING o
Aspectos de implementação, segurança, armazenamento, custo/preço, qualidade de serviço 
 
CUStO/PrOlO asas SO a 132 
Qualidade de serviços... re iterteeereeaeerreearee aeee rreraee area ee rree areas creeaeerreerrererererearees 135 
 
SINOUZANTO sisssses esscesesesamsca en acaciaieid ani iai dadas iara seio caaisasona sd nsiaeitasandiseiaão 
 
Referências bibliográficas 
INFRAESTRUTURA DE DATA SCIENCE E CLOUD COMPUTING &
INFRAESTRUTURA DE DATA SCIENCE E CLOUD COMPUTING (E>
 TESTA 
 
A humanidade nunca produziu tanta informação como nesta era em que vivemos. Ao mes- 
mo tempo que este conteúdo está disponível atravésde inúmeras formas de acesso como 
redes socias, sites de notícias, vídeos on-line, podcasts, sites especializados, sites de governos 
com informações públicas, o que fazer com tanta informação? 
No contexto corporativo, podemos encontrar softwares e plataformas on-line de loT (inter- 
net of things: internet das coisas), informações geradas por equipamentos e também de usos 
(logs) de aplicações legadas, dados federados de outras fontes externas tais como notícias, 
cotações de moedas e ações de bolsa de valores do mundo todo, previsão do tempo, e tudo 
aquilo que abrange o escopo dessa disciplina: a análise científica de dados. 
Com essa explosão de dados, muitas oportunidades podem ser encontradas: novos negó- 
cios podem ser criados, novas soluções para problemas que eram até então muito difíceis de 
serem resolvidos, oportunidades de redução de custos operacionais ou aperfeiçoamento de 
processos existentes. 
As plataformas mais modernas de análise científica de dados em cooperação com estrutu- 
ras de Big Data em cloud, são apropriadas na obtenção, transformação, análise e operacionali- 
zação de um grande volume de informações e descobertas que podem gerar valiosos resulta- 
dos de negócio no mundo corporativo. 
INFRAESTRUTURA DE DATA SCIENCE E CLOUD COMPUTING O
 
 
O Professor Pávio Domiciano Muniz é pós-gra- 
duado em MBA em Business Intelligence pelo 
Senac (2004), em Administração Industrial pela 
Fundação Vanzolini (1996), e é tecnólogo em 
Processamento de Dados pela Universidade 
Mackenzie (1991). 
Atua no mercado de TI há mais de 30 anos, 
 
trabalhou com desenvolvimento de sistemas, 
banco de dados orientado a objetos, inteligên- 
cia artificial, e atualmente aplica seus conhe- 
cimentos em operações de serviço em uma 
multinacional como gerente sênior, além de 
participar de um grupo de estudos do HDI - 
WAB - Workplace Advisory Board. 
Currículo Lattes: 
http://lattes.cnpq.br/4835454341314146 
Dedicado à minha família: minha esposa Patricia e minha filha Alice, que tanto me 
fazem bem, que são o motivo da minha dedicação ao trabalho, ao estudo e a tudo 
que faço. Abrimos mão do tempo juntos para que eu pudesse me dedicar a esta 
obra, mas sabemos que estamos gerando uma semente para que novos frutos 
possam ser gerados. Alguém um dia disse: “Podemos contar quantas sementes 
tem uma maçã, mas não podemos contar quantas maçãs serão geradas por uma 
semente”. É o que sinto por este trabalho, e mais ainda por minha família. 
 INFRAESTRUTURA DE DATA SCIENCE E CLOUD COMPUTING qo)
 
DELAS EDIT ET 
& Entendimento do contexto e objetivos das 
infraestruturas de Data Science; 
& Conhecimento das soluções e mercado das soluções 
de infraestrutura de Data Science; 
& Identificar as diferenças das soluções e principais 
utilizações. 
ES ERES UT o 
O Utilização das ferramentas nos pro- 
cessos de administração de empresas 
O que é Big Data, seu histórico e 
principais desafios 
Como o Big Data se parece 
Volume/velocidade/variedade/vera- 
cidade/valor 
O Visão geral sobre ambiente Big Data 
Como é composto um ambiente de 
Big Data 
O Infraestrutura tecnológica: plata- 
formas, linguagem e ambiente 
As linguagens que podem ser usa- 
das com Big Data 
Como deve ser um ambiente apro- 
priado para Big Data 
O que é MapReduce 
O que é HDFS 
O Infraestrutura para Data Science 
Como é composto um ambiente de 
Big Data 
Capacidade de processamento 
Treinamento de modelos analíticos 
& Tecnologias para coleta, armazena- 
mento, análise e visualização de dados 
Tecnologias e ferramentas de cole- 
ta de dados 
Tecnologias e ferramentas de ar- 
mazenamento de dados 
Ferramentas de análise de dados 
Ferramentas de visualização de 
dados 
INFRAESTRUTURA DE DATA SCIENCE E CLOUD COMPUTING (5) 
 
 Utilização das ferramentas nos processos de admi- 
nistração de empresas 
O mundo corporativo está vivendo uma nova Revolução Industrial baseada na informação 
e na disponibilidade de tantos dados, que é quase impossível processar todos eles. Não há 
capacidade humana suficiente para processar tudo que é gerado e está disponível na internet. 
Esses dados crescem a cada dia, sendo o motivo do crescimento das ferramentas de Data 
Science, ou Ciência de Dados. São soluções criadas há décadas, mas que agora estão disponí- 
veis em diversas plataformas e soluções, e, ainda, distribuídas de forma livre, fáceis de integrar 
à sistemas corporativos. Isso, combinado com a computação em nuvem, onde a interligação 
de soluções e disponibilidade de recursos computacionais estão se tornando quase ilimitadas, 
aumenta a capacidade das empresas na utilização de algoritmos avançados de aprendizado de 
máquina (Machine Learning) e aprendizado profundo (Deep Learning). 
Estas tecnologias estão sendo utilizadas nas empresas para: identificação de comportamen- 
to de clientes em relação à compras (quando, como, motivação, perfil, tendências), melhoria da 
qualidade de atendimento a clientes como os de bancos (estamos assistindo às propagandas 
de atendentes virtuais como sendo atendentes de grandes bancos), análise de comportamen- 
to de mercado para transações automatizadas de ações em bolsas de valores, análise de logs 
de aplicações combinadas com monitoração de indicadores de infraestrutura para identificar 
anomalias de segurança, desvio de informações, ataques de rackers ou antecipação de falhas, 
e também novos negócios na era digital, como foi o surgimento das redes sociais, e empresas 
totalmente digitais como Uber, AirBnb, Netflix, Google. 
 
O que é Big Data, seu histórico e principais desafios 
Big Data é o dado que excede a capacidade de processamento dos sistemas convencionais 
de computação. Ele é grande, se move rápido, ou não se adere às estruturas das arquiteturas 
de banco de dados, sejam eles do tipo relacional ou tradicionais. Para se obter valor deste 
dado, deve-se lançar mão de métodos alternativos de processamento. 
O surgimento dos métodos de processamento em Big Data começou com os problemas 
enfrentados por corporações líderes em seus mercados que estressaram os métodos, hoje 
considerados tradicionais, de manipulação de dados. Podemos citar o Walmart e o Google 
como precursores que investiram muito em novas formas e abordagens de processar Big Data 
e abriram o caminho para a criação de plataformas robustas, muito mais baratas e agora dis- 
poníveis para Cloud Computing. Estas soluções podem ser encontradas no formato de Open 
INFRAESTRUTURA DE DATA SCIENCE E CLOUD COMPUTING qe»
Source, ou modelos comerciais de consumo, permitindo que o mercado usufrua desta tecnolo- 
gia e aplique em seus negócios de forma mais rápida. 
O valor de negócio do Big Data está baseado em dois pilares: uso analítico e criação de 
novos produtos. 
O uso analítico do Big Data pode revelar ideias (insights) escondidas pelos dados, exigindo um 
esforço custoso de processamento, como, por exemplo, a influência dos relacionamentos (amigos, 
companheiros, parentes, etc.) no comportamento de consumidores, revelados por intermédio de 
transações de compradores na mesma região geográfica e categoria social, e ainda em redes sociais. 
O uso analítico do Big Data compreende, também, a capacidade de processar cada item de dado em 
seu devido tempo consumindo processamento adequado para investigar as relações entre variáveis, 
em contraste com a natureza estática de envio de relatórios. 
Temos visto muitas startups sendo criadas a partir da capacidade de processamento de Big Data. 
O exemplo do aplicativo Waze, que criou uma rede social de trânsito, só se tornou possível através 
da capacidade de processar dados de geolocalização de celulares, podendo interpretar o trânsito por 
vias, identificando rotas alternativas e incluindo, ainda, dados imputados diretamente por usuários 
a respeito de desvios, acidentes, sinalizações, etc. O volume de dados processados é espantoso e, 
durante o percursodo usuário, ainda é possível mudar a rota em função de novos acontecimentos. 
As fintechs (startups de tecnologia na área financeira) também se aproveitam das tecnologias de Big 
Data para criar novos produtos, algumas vezes mais simplificados, mais baratos, sem agências físicas 
e mais ágeis que grandes instituições financeiras, facilitando empréstimos com análise profunda de 
dados de comportamento, seguros customizados por perfis de apólices individualizadas, etc. 
O que se faz emergencial no uso de Big Data pelas corporações é a palavra agilidade. Para 
se beneficiarem de maneira bem-sucedida do valor do Big Data, uma abordagem exploratória 
e experimental é essencial, bem como vemos nas startups. 
 
 Como o Big Data se parece 
Um exemplo muito claro de como o Big Data se parece é o que utilizamos todos os dias: 
o Google. Quando buscamos algo na internet, estamos usando uma das mais avançadas 
tecnologias de Big Data. Imagine poder armazenar todas as páginas web do mundo de forma 
estruturada e ser possível mostrar bilhões de resultados precisos de qualquer informação 
contida nestas páginas em menos de um segundo? 
Para que possamos caracterizar de uma forma mais exata, podemos usar os “Vs” do Big 
Data: volume, velocidade, variedade, veracidade e valor. Há variações da quantidade de Vs do 
Big Data, aqui usamos as principais, mas há quem contabilize até 10 Vs. 
INFRAESTRUTURA DE DATA SCIENCE E CLOUD COMPUTING &
 
 Volume/velocidade/variedade/veracidade/valor 
Volume: o benefício extraído da capacidade de processar grandes volumes de dados é o 
principal atrativo do Big Data Analytics. Esses grandes volumes, por sua vez, exigem melho- 
res modelos matemáticos: cálculos simples podem ser inefetivos. Se for possível criar uma 
estimativa de vendas considerando 300 fatores ao invés de seis, se faz mais oportuno prever 
uma demanda mais exata? Esse volume representa o desafio mais imediato da infraestrutu- 
ra de TI atual. Isso exige um armazenamento escalável, uma abordagem de consulta (query) 
distribuída, não em formato de logs, mas de forma que possibilite o processamento. Também 
se faz necessário lançar mão da capacidade atual de processamento paralelo, os armazéns 
de dados (Data Warehouses). E não podemos nos esquecer, também, dos dados não estrutu- 
rados: áudios, textos, páginas web, logs, dados de geolocalização; que podem ser necessá- 
rios para dar sentido a outros dados. 
Velocidade: a importância da velocidade dos dados - a forma drástica de como os dados 
fluem em uma organização - tem seguido um padrão similar ao volume. Alguns problemas 
que eram restritos a um determinado segmento de mercado, agora se apresentam para um 
grupo maior. As empresas do tipo traders se beneficiaram das informações que trafegam 
entre empresas do mercado financeiro e, agora, isso está à disposição de uma gama maior 
de empresas. A era dos smartphones trouxe para a internet o dado instantâneo. Tendências 
provindas de conteúdo de mensagens, as famosas hashtags, podem ser “ouvidas” e analisa- 
das, identificando oportunidade de negócios. Os fluxos de dados também são um desafio: 
vídeos on-line, streaming de vídeos, fotos com geolocalização, áudios e etc. Não é somente 
a velocidade que importa, mas, também, o poder de armazenar para processar posterior- 
mente ou em batchs. Hoje é possível analisar como é o comportamento de pessoas quando 
assistem a um vídeo na internet, suas reações e como o vídeo pode ser melhorado, minuto a 
minuto. Muitas das tecnologias de processamento de dados em tempo real são oriundas de 
jogos on-line que geraram muitas soluções para este tipo de problema. 
Variedade: raramente os dados aparecem de forma estruturada e em uma ordem per- 
feitamente pronta para serem processados. Nunca caem prontos em um modelo relacional. 
Eles podem ser: textos de uma rede social (ou mais que uma), imagens, ou strings vindas de 
sensores diversos. Assim como os smartphones trouxeram ótimas informações, também 
trouxeram sistemas operacionais, browsers, modelos e interfaces diferentes aumentado, 
assim, a variedade de formatos dos dados, inclusive em línguas diferentes. Um grande tra- 
balho do Big Data é gerar sentido para o dado. Como praticamente tudo estará nele no con- 
texto corporativo, é necessário saber distinguir para o negócio se Bom Jesus é uma cidade 
INFRAESTRUTURA DE DATA SCIENCE E CLOUD COMPUTING q»
do Nordeste (PB, Ple RN) ou do Sul (RS e SC), pois é a cidade com mais homônimos do Brasil 
ou, ainda, se é só uma frase nas redes sociais. Um ponto importante de mudança que o con- 
ceito de variedade insere no Big Data é: quando puder, armazene tudo, uma vez que haverá 
informações valiosas naquilo que agora parece não ser necessário. Vejamos que a prioridade 
é manter, para que posteriormente haja interpretação e exploração dos dados, e manter de 
uma forma íntegra. 
Veracidade: esta é uma das características que podem parecer contraditórias do Big 
Data. Como as características de volume, velocidade e variedade aumentam, a confiabilidade 
pode, pelo contrário, diminuir. A veracidade, neste caso, se refere mais à proveniência ou à 
confiabilidade da fonte de dados, ao seu contexto e ao quão significativa é a análise basea- 
da nele, pois como o Big Data permite que busquemos os dados da sua fonte original, sem 
manipulação, em seu estado original, estamos aumentando a sua veracidade. Por exemplo, 
considere um conjunto de dados de estatísticas sobre o que as pessoas compram em res- 
taurantes e os preços desses itens nos últimos cinco anos. Podemos perguntar: quem criou 
a fonte? Que metodologia eles seguiram na coleta dos dados? Foram apenas certas cozinhas 
ou certos tipos de restaurantes incluídos? Os criadores de dados resumem as informações? 
As informações foram editadas ou modificadas por qualquer outra pessoa? As respostas a 
essas perguntas são necessárias para determinar a veracidade dessas informações. O co- 
nhecimento da veracidade dos dados, por sua vez, nos ajuda a entender melhor os riscos 
associados à análise e às decisões de negócios com base nesse conjunto de dados específico. 
Por outro lado, podemos mesclar informações de outras fontes para contrapor os dados, até 
chegar a um modelo mais confiável. Um exemplo é o Waze, que pode comparar informações 
dadas por mais de um usuário sobre um acidente, aumentando o grau de veracidade para 
então divulgar a informação para outros usuários. 
Valor: tudo começa com o problema a ser resolvido, este deve ser relevan- 
 
 
te e suficientemente recompensador para que o esforço a ser empreendido 
seja recompensado. É o famoso ROI (Return on Investment) pois, como já 
vimos, é muito fácil crescer o ambiente de Big Data coletando 
grandes volumes de dados. Estes volumes de dados, por sua 
vez, custam muita infraestrutura e fazer isso sem perder 
o foco no valor a ser entregue pela solução é um risco 
que ninguém quer ter. 
O que podemos concluir é que o Big Data pode ampliar 
a capacidade das corporações de processar seus dados de 
forma a gerar flexibilidade e agilidade em seus negócios. 
INFRAESTRUTURA DE DATA SCIENCE E CLOUD COMPUTING Go)
 
 Visão geral sobre ambiente Big Data 
O ambiente de Big Data é composto de subprocessos que possuem características distintas, 
e respectivas ferramentas para permitir tudo o que promete em termos de processamento 
computacional. À primeira vista, pode se achar um certo exagero na divisão destes componen- 
tes, mas o propósito é claro: escalabilidade. Quanto maior for o volume de dados, mais claro 
ficará o papel de cada componente. 
BIG DATA & AI LANDSCAPE 2018 
- animes APrUcAmONS - Dent iast 
ou ur rumos asc rumos users mami Ex corurasimas 
torna atena | rx Do emonys | nAnIUS às rms rende = Drmudo TEM ísae UA emonys | Ras TS Quem Presta | 
AvASO! Montador (otisado e mes gua avaso = cs 
omite abri! 
 
= regina ariguo saurem Qmacem 
 
 
Conte 4,tas ora 
| contem | iroa comna 
 
DATASOUACES ams 
855 uremam sms <> 
Bm Sede Teia ER caras | 
Fal DONA venia, updated 092018 O Mu Tork (Omartiurck, Demi Obayoemi (Semi obayomil, & FireMara (Ofremarteaç) FIRSTMARK 
Figura 1. Big Data & Al Lands 2 2018. Fonte: Matt Turck. Acesso em: 15/03/2019. 
 
 
 
O nosso foco será mantido nas ferramentas Open Source que também turbinam 
as soluções proprietárias, tais como Pivotal, que usa Hadoop e Cloud Foundry. 
 
Como é composto um ambiente de Big Data 
As soluções de Big Data seguem uma arquitetura básica de ambiente muito semelhante à de 
BI (Business Intelligence), composta de um ciclo de vida muito claro: 
INFRAESTRUTURA DE DATA SCIENCE E CLOUD COMPUTING G5>
DIAGRAMA 1. CICLO DE VIDA DAS SOLUÇÕES DE BIG DATA 
ARMAZENAMENTO & ANÁLISE & VISUALIZAÇÃO & FONTE DE a 
DADOS RR TRANSFORMAÇÃO MODELAGEM COMPARTILHAMENTO 
 
Cada uma dessas fases possui ferramentas 
e tecnologias específicas com variações de de- 
sempenho e objetivos que devem ser analisa- 
dos dependendo do problema em questão. 
Como podemos observar, o Data Science 
 
se encontra com o Big Data na parte de aná- 
lise & modelagem de dados, lançando mão de mineração de dados, inteligência artificial, 
Machine Learning, Deep Learning e também de recursos de visualização e compartilhamento 
de dados. 
Com o intuito de ilustração, podemos exemplificar esse ambiente no uso de uma corpora- 
ção na área de varejo: 
DIAGRAMA 2. AMBIENTE B/G DATA EM UMA CORPORAÇÃO NA ÁREA DE VAREJO 
 
 Infraestrutura tecnológica: plataformas, linguagem 
e ambiente 
Quais são as plataformas disponíveis? 
As plataformas disponíveis de Big Data podem ser separadas por sua função: 
INFRAESTRUTURA DE DATA SCIENCE E CLOUD COMPUTING G>
DIAGRAMA 3: FUNÇÕES DAS PLATAFORMAS DE BIG DATA 
QUERY/DATAFLOW 
MONITAÇÕES E LOGS 
oia (AS 
APRENDIZAGEM 
b 
Podemos identificar as ferramentas que aparecem mais de uma vez se posicionando com 
 
versatilidade e ganhando mais visibilidade no mercado, tais como o Hadoop e seu ecossiste- 
ma, e também a ferramenta Spark. 
 
 As linguagens que podem ser usadas com Big Data 
Pensar em linguagem de programação para Big Data deve ser uma preocupação? Afinal, não 
estamos falando de dados? Para respondermos a essas perguntas precisamos nos aprofundar 
nos processos e suas ferramentas. A escolha da solução acarretará em uma capacitação de 
mão de obra e, dependendo dos recursos já disponíveis, pode ser um fator importante na es- 
colha. Contudo, devido à complexidade e à relativa novidade dos assuntos para as empresas, 
poderá haver a necessidade de adaptação à novas linguagens. 
Para cada ciclo poderá haver uma ferramenta e uma linguagem específica. Citaremos al- 
guns exemplos, sem esgotar todas as opções e variações: 
* Aquisição: Pig, SQL, XML, VXML, Java, JavaScript, C++, Python; 
* Armazenamento & transformação: Hive, Java, Perl, TXL, XSLT, xQuery, xPath; 
* Análise & modelagem: Python, R, Java, JavaScript (nodeyjS), Go; 
* Visualização & compartilhamento: R, Python, Java, JavaScript, NodeJs, GO, etc. 
INFRAESTRUTURA DE DATA SCIENCE E CLOUD COMPUTING O
Destacamos aqui duas linguagens: Pig e Hive. 
Apache Pig é uma plataforma para a análise de grandes conjuntos de dados que consiste 
em uma linguagem de alto nível para expressar programas de análise de dados juntamente 
com a infraestrutura para avaliar esses programas. A propriedade mais importante dos pro- 
gramas em Pig é que sua estrutura é favorável ao processamento de paralelização que, por sua 
vez, permite que eles manipulem conjuntos de dados muito grandes. No momento, a camada 
de infraestrutura do Pig consiste em um compilador que produz sequências de programas Ma- 
pReduce, para os quais já existem implementações paralelas de grande escala (por exemplo, 
o subprojeto Hadoop). A camada de linguagem do Pig consiste atualmente em uma linguagem 
textual chamada Pig Latin, que tem as seguintes propriedades-chave: 
* Facilidade de programação: é essencial para alcançar a execução paralela de simples ta- 
refas de análise de dados advindas de paralelismo complexo. Tarefas complexas compostas 
de várias transformações de dados inter-relacionados são explicitamente codificadas como 
sequências de fluxo de dados fáceis de escrever, entender e manter; 
* Oportunidades de otimização: a forma como as tarefas são codificadas permite que o 
sistema otimize sua execução automaticamente, bem como que o usuário se concentre na 
semântica ao invés da eficiência; 
* Extensibilidade: os usuários podem criar suas próprias funções para fazer o processamen- 
to de propósito especial. 
Exemplo de código em Apache Pig no formato de script: 
EXEMPLIFICANDO 
A = LOAD 'aluno' USING PigStorage() AS (nome:chararray, idade:int, pontuação:float); 
B = FOREACH A GENERATE nome; 
DUMP B; 
(João) 
(Maria) 
(William) 
(José) 
 
A linguagem do Apache Hive facilita a leitura, a escrita e o gerenciamento de grandes Da- 
taSets que residem em armazenamento distribuído, além de facilitar a consulta usando a 
sintaxe SQL. Construído em cima do Apache Hadoop, o Hive fornece os seguintes recursos: 
* Ferramentas para permitir o acesso fácil aos dados via SQL e, consequentemente, às 
tarefas de armazenamento de dados como extração/transformação/carga (ETL), relató- 
rios e análise de dados; 
INFRAESTRUTURA DE DATA SCIENCE E CLOUD COMPUTING <>
* Um mecanismo para impor estrutura em uma variedade de formatos de dados; 
* Acesso a arquivos armazenados diretamente no Apache HDFS ou em outros sistemas de 
armazenamento de dados, como o Apache Hbase; 
* Execução de consultas via Apache Tez, Apache Spark ou MapReduce; 
* Linguagem processual com HPL-SQL; 
* Recuperação em menos de segundos via consulta Hive LLAP, Apache YARN e Apache Slider. 
O Hive fornece a funcionalidade SQL padrão, incluindo muitos dos recursos posteriores do 
SQL: 2003, SQL: 2011 e SQL: 2016 para análise. SQL do Hive também pode ser estendido com o 
código do usuário por meio de funções definidas pelo usuário (UDFs), agregados definidos pelo 
usuário (UDAFs) e funções de tabela definidas pelo usuário (UDTFs). O Hive não foi projetado 
para cargas de trabalho de processamento de transações on-line (OLTP). Ele é melhor usado 
para tarefas tradicionais de armazenamento de dados. 
Exemplo de código em Hive: 
EXEMPLIFICANDO 
CREATE TABLE tabi (coll int, col2 int) PARTITIONED BY (col3 int) STORED AS ORC; 
LOAD DATA LOCAL INPATH 'filepath' INTO TABLE tabl 
 
 Como deve ser um ambiente apropriado para Big Data 
O ambiente computacional destinado às soluções de Big Data deve ser flexível, isto é, capaz 
de crescer em processamento e armazenamento na velocidade necessária para o negócio e, 
ao mesmo tempo, fornecer acesso aos diferentes propósitos, de diferentes áreas. As tecno- 
logias de infraestrutura construídas para suportar as aplicações em Cloud Computing são as 
recomendadas para o Big Data, na verdade, elas foram construídas para este propósito. Os 
desafios enfrentados no início do e-Commerce pela Amazon e com os sites de busca Yahoo e 
Google pavimentaram o caminho para as tecnologias que hoje são mandatórias para qualquer 
empresa que necessite do Big Data. Este ambiente pode ser criado de duas formas: dentro 
as instalações das empresas (in house) ou numa estrutura em nuvem (in cloud). Os principais 
motivos de escolha estão mais relacionados às políticas internas das corporações do que em 
termos de segurança e desempenho, ou, ainda, em função de investimentos em infraestrutu- 
ra, O que, para alguns casos, um cenário pode ser mais vantajoso que o outro. Também há a 
possibilidade de se criar um ambiente híbrido que possa ser transferido de um ambiente para 
outro entre local e em cloud, bem como optar por desenvolver em um e colocar em produção 
INFRAESTRUTURA DE DATA SCIENCE E CLOUD COMPUTING E
no outro. Uma estratégia adicional é poderutilizar temporariamente o ambiente em cloud. 
Isso acontece em empresas de mineração ou exploração que necessitam de uma capacidade 
muito grande de processamento por um período determinado e, depois que os dados ou mo- 
delos foram gerados, podem abrir mão dos recursos. 
A espinha dorsal de todo o ambiente de Big Data é o Apache Hadoop, que é capaz de pro- 
cessar uma quantidade enorme (100 gigabytes ou mais) de dados com baixo custo, e com uma 
flexibilidade de infraestrutura. O ambiente do Hadoop implementa alguns diferenciais tecno- 
lógicos que precisam ser entendidos, que são: MapReduce e o HDFS. 
 
 O que é MapReduce 
O Hadoop MapReduce é uma estrutura 
de software para o desenvolvimento de apli- 
cações que processam grandes volumes de 
dados, chegando a terabytes, com processa- 
mento distribuído em equipamentos de alta 
disponibilidade e formando grandes clusters 
de hardware (com milhares de nós), constituí- 
do por equipamentos comuns de uma forma 
mais acessível e ainda sendo resiliente no que 
 
diz respeito à tolerância a falhas. 
Uma aplicação ou job do MapReduce normalmente divide o conjunto de dados de entrada 
em blocos independentes de processamento que são enviados às tarefas em paralelo, para 
que seja possível o processamento simultâneo, entre os nós do cluster, formando como se 
fosse um mapa de onde se tirou o nome MapReduce. Após o processamento das tarefas, a es- 
trutura criada classifica os resultados obtidos desses mapas, que são, em seguida, transferidos 
para a entrada de outros tipos de tarefas, chamadas de redução (reduce task). A redução é um 
processamento que “quebra” os resultados dos mapas em quantidades de informação (tuplas) 
menores para facilitar o processamento dos dados resultantes. Visto que esses resultados 
serão processados em visualizações e aplicações em batch, necessitam de um mecanismo de 
controle da quantidade de dados resultantes, uma vez que não conseguem manipular tera- 
bytes de resultados. Normalmente, a entrada e a saída do trabalho são armazenadas em um 
sistema de arquivos de alta capacidade. O framework (o conjunto de ferramentas interligados) 
cuida das tarefas de agendamento de processos, monitorando-as e reexecutando as tarefas 
que por acaso estejam com falha. 
INFRAESTRUTURA DE DATA SCIENCE E CLOUD COMPUTING &
O MapReduce possui metadados que identificam a localização dos dados, e envia o proces- 
samento para o mais próximo possível do dado. Normalmente, os servidores de processamen- 
to e os servidores de armazenamento são os mesmos, acelerando o processamento como um 
todo. Ou seja, a estrutura MapReduce e o sistema de arquivos distribuído do Hadoop (o HDFS) 
são executados no mesmo conjunto de nós do cluster. Essa configuração permite que a estru- 
tura de orquestração dos processos programe de maneira efetiva as tarefas nos nós onde os 
dados já estão presentes, resultando em uma ampliação da capacidade de processamento em 
paralelo e o aproveitamento da estrutura “clusterizada”. 
A estrutura MapReduce é formada por um único componente mestre que é chamado em 
inglês de JobTracker e ainda um slave TaskTracker por nó de cluster. O componente mestre é 
responsável por agendar e organizar as tarefas dos componentes dos jobs nos slaves, monito- 
rando-os e reexecutando as tarefas com falha. Os slaves executam as tarefas conforme orien- 
tado pelo mestre e reportando os status das tarefas sob sua responsabilidade. 
É possível que os aplicativos ou programas desenvolvidos em MapReduce especifiquem os 
locais de entrada/saída de dados, forneçam o código que fará o mapeamento e a redução dos 
dados em formato de funções por meio de implementações de interfaces ou, ainda, através de 
classes abstratas criadas em linguagens específicas convertidas em Java, como é o caso do Scala 
usado pelo Saprk. O processo que coordena os jobs do Hadoop, em seguida, submete o traba- 
lho (JAR/executável etc.) e configura o JobTracker para assumir a responsabilidade de distribuir 
o componente de software para os slaves, agendar as tarefas e monitorá-las, fornecendo status 
e informações de diagnóstico para o componente coordenador de trabalho do Hadoop. 
RESULTADOS 
INTERMEDIÁRIOS 
ARQUIVOS 
DE SAIDA 
REDUÇÃO 
 Figura 2. Diagrama do MapReduce. Fonte: Wikimedia. Acesso em: 18/03/2019. (Adaptado). INFRAESTRUTURA DE DATA SCIENCE E CLOUD COMPUTING &
 
 O que é HDFS? 
O HDFS é processo ou componente do Hadoop responsável por todo o armazenamento de 
dados distribuídos, tolerante a falhas, essencial para o uso dos aplicativos que rodam no Ha- 
doop. Um cluster HDFS consiste, principalmente, em um NameNode (nó de servidor em cluster) 
que gerencia os metadados do sistema de arquivos e DataNodes que armazenam os dados 
reais. As características principais do HDFS são: 
* O HDFS é altamente configurável, e funciona muito parecido com a forma padrão de arquivos 
de sistemas operacionais do tipo Unix/Linux, e bem adaptado para muitas instalações. Na maioria 
das vezes, a configuração precisa ser ajustada somente em casos de clusters muito grandes; 
* O NameNode e DataNodes foram desenvolvidos tendo em mente o funcionamento de 
servidores web, tornando ainda mais fácil a administração e verificação do status atual da 
saúde do cluster; 
* O HDFS possui permissões de acesso aos arquivos e autenticação semelhantes ao sistema 
operacional Unix/Linux, facilitando o trabalho dos administradores e desenvolvedores; 
* Os metadados conseguem o reconhecimento ao nível do rack para levar em conta o local 
físico de um nó de cluster ao agendar tarefas e alocar armazenamento facilitando, novamente, 
a gestão do ambiente; 
* Safemode: um modo de funcionamento que permite o acesso administrativo para manu- 
tenção, sem afetar outros componentes do cluster; 
* fsck: um utilitário de verificação para diagnosticar a saúde do sistema de arquivos, para 
encontrar arquivos ausentes ou blocos de dados e atualização de metadados; 
* fetchdt: um utilitário para buscar DelegationToken e armazená-lo em um arquivo no sistema 
local. O DelegationToken é a forma de garantir a segurança das transações no Hadoop, o token 
é uma chave única criada pelo NameNode para efetuar a comunicação com o DataNode. É uma 
espécie de senha de acesso concedida durante uma sessão de processamento do MapReduce; 
* Rebalancer: ferramenta para equilibrar as cargas do cluster quando os dados são distribuí- 
dos de forma desigual entre os DataNodes. Ele reorganiza os dados para distribuir o processa- 
mento de forma mais igualitária; 
* Upgrade e reversão: o HDFS possui a característica de guardar uma versão do seu estado, 
antes ou após uma atualização de software, sendo possível reverter para o estado armazena- 
do antes da atualização em caso de problemas inesperados; 
* NameNode secundário: é um segundo servidor que executa pontos de verificação periodi- 
camente do namespace e mantém o tamanho dos arquivos que possuem o log das modifica- 
ções do HDFS dentro dos parâmetros determinados e limítrofes no NameNode. 
INFRAESTRUTURA DE DATA SCIENCE E CLOUD COMPUTING O
Com todos esses componentes interligados, o HDFS fornece uma solução de tolerância a 
falhas, disponibilização de acesso a fluxo de dados (data stream), grandes conjuntos de dados, 
um modelo de acesso simplificado e coerente com as linguagens de programação mais uti- 
lizadas, e realmente consegue implantar o conceito de que “mover o processamento é mais 
barato que mover os dados”. Um outro ponto importante é a portabilidade entre hardwares e 
softwares de plataformas heterogêneas. 
Arquitetura do HDFS 
Sr nrIE EO 
Metadata ————+ réplicas, ...): 
o Dio (jr Pe 
Bloco 
Datanodes operações Datanodes 
= o 
GENS 
Escrita 
Outros importantes componentes que fazem parte do ecossistema do Apache Hadoop, ain- 
 
Figura 3. Arquitetura do HDFS. Fonte: Acesso em: 18/03/2019 
da não citados: 
* Ambari: componente para provisionamento,gerenciamento e monitoração; 
* Flume: coleta e importação de dados de logs de aplicações e eventos; 
* Hbase: banco de dados que suporte recursos de grandes tabelas, muito importante para 
Data Science; 
* HCatalog: torna acessível através do Hive, Pig e MapReduce o esquema e tipos de dados; 
* Mahout: biblioteca de algoritmos de Machine Learning e Data Mining; 
* Oozie: orquestrador e gerenciamento de workflow; 
* Sqoop: importa dados de bandos relacionais; 
* Whirr: provisionamento de cluster independentemente do tipo de cloud; 
* Zookeeper: coordenação e gerenciamento de configuração; 
* Avro: sistema de serialização de dados; 
* Cassandra: um banco de dados multimestre escalável e sem pontos únicos de falha; 
INFRAESTRUTURA DE DATA SCIENCE E CLOUD COMPUTING &
* Spark: um mecanismo de computação rápida e geral para dados do Hadoop. O Spark 
fornece um modelo de programação simples e expressivo que suporta uma ampla gama de 
aplicações, incluindo ETL, Machine Learning, processamento de fluxo e computação gráfica. 
 
 Infraestrutura para Data Science 
Não há propósito de se armazenar grandes volumes de dados sem poder tirar vanta- 
gem competitiva deles e, nesse ponto, é que entra em cena a Ciência de Dados ou Data 
Science. É por intermédio dessa tecnologia que se torna viável a descoberta de insights 
ou pérolas de informação que dão sentido às inovações de mercado. 
A Ciência de Dados é uma disciplina que envolve tudo o que se identifica com a limpeza de 
dados, planejamento e investigação de dados não estruturados e organizados. Esta é a análise 
& modelagem de dados. A Ciência de Dados lança mão de sequência de aritmética, estatísticas, 
programação, resolução de problemas, apreendendo dados de maneiras rápidas, e ainda a capa- 
cidade de considerar as coisas de uma forma inesperada, além da ação de ajuste dos dados. Os 
cientistas de dados interagem com a plataforma do Hadoop de duas formas: como um cientista 
de dados e/ou como engenheiro Hadoop. A maior parte do tempo gasto será em preparação dos 
dados que pode chegar a 80% da dedicação do cientista de dados. Essa fase exi- 
 
 
 
 
ge interações que se repetem. Até chegar aos resultados esperados, podemos 
voltar ao início inúmeras vezes. Maior vantagem para as plataformas flexíveis. 
Integração entre Data Science e Big Data 
Definir uma única ferramenta de Data Science é uma tarefa com grandes desafios, pois cada 
tipo de problema pode trazer diferentes necessidades, portanto, várias ferramentas podem 
ser conectadas ao Big Data para diferentes propósitos. Podemos separar as ferramentas em 
analíticas, para o entendimento dos dados, e as preditivas. A primeira procura o entendi- 
mento dos dados, suas relações, suas abrangências, e a segunda o comportamento dos dados 
e sua previsibilidade. Aqui entra em ação a matemática. Para os dois casos é fundamental a 
utilização de algoritmos matemáticos estatísticos e também de Machine Learning. 
Nada melhor que usarmos um exemplo para esclarecer. Usemos a necessidade de enten- 
der porque uma empresa perde clientes. Esta situação se chama índice de CHURN, ou seja, 
o percentual de perda de clientes por um período. Medir esta informação é importante para 
se comparar com o mercado. Agora, quão bom seria ter um modelo de comportamento que 
pudesse analisar quando se aproxima o momento em que um cliente está prestes a deixar a 
INFRAESTRUTURA DE DATA SCIENCE E CLOUD COMPUTING (>
empresa? Este modelo pode ser criado usando uma estrutura de Machine Learning que pode 
ser “treinado” para responder a probabilidade de saída de todos os clientes, ou até mesmo ser 
executado a cada interação com o cliente, podendo indicar soluções possíveis para que o clien- 
te não cancele o relacionamento com a empresa. Este recurso é muito utilizado nas empresas 
de Telecom, onde milhões de clientes possuem contratos de serviço, onde a portabilidade torna 
a competição acirrada e, ao mesmo tempo, é humanamente impossível entender a situação e 
necessidade de cada cliente. Com a Ciência de Dados e o Big Data, podemos identificar tipos de 
comportamentos agrupados (clusters), e com seus respectivos modelos preditivos. A grande 
vantagem aqui é poder usar os modelos para reduzir o índice de CHURN e obter os benefícios 
de negócios atrelados à manutenção de clientes. Em continuidade aos requisitos de negócio, 
também fica mais fácil alcançar um outro modelo de aplicação de Ciência de Dados, o NBA 
(Next Best Action), que procura entender qual é a melhor ação a ser tomada pele empresa a res- 
peito do cliente específico, ampliando sua fidelidade, oferecendo novos produtos e serviços, 
readequando processos e retroalimentando informações. 
As tecnologias já permitem um aprendizado contínuo de máquina, onde as reações às ações 
tomadas são incluídas em novos treinamentos, ajustando a acuracidade de modelos de com- 
portamento. Tudo isso exige grande capacidade de processamento e armazenamento de dados. 
 
 Capacidade de processamento 
Já está claro até este ponto a necessidade 
de uma capacidade de processamento dife- 
renciada para Big Data, não somente na arqui- 
tetura capaz de se utilizar de uma infraestru- 
tura de múltiplos clusters de processamento e 
armazenamento. Quando falamos em mode- 
lagem e criação de modelos matemáticos de 
comportamento, precisamos de muitos cál- 
culos executados em memória. Imaginemos 
o cálculo de consumo médio de banda de da- 
dos de todos os clientes de smartphones de 
uma empresa de Telecom? Contudo, este é um 
dado básico e cálculos mais complexos preci- 
sam ser feitos para os objetivos que precisam ser alcançados. INFRAESTRUTURA DE DATA SCIENCE E CLOUD COMPUTING &)
Mais uma vez o mercado de jogos criou uma estrada para os negócios: sua fome por proces- 
samentos gráficos desenvolveu processadores com funções matemáticas complexas embuti- 
das: as GPUSs (Graphics Processing Units), que foram colocadas em placas de vídeo, aumentando 
a jogabilidade e permitindo gráficos em 3D estonteantes. Com a evolução dos ambientes de 
desenvolvimento em Cloud Computing, ficou evidente que seria possível integrar hardware com 
mais GPUs para serem dedicados a serviços de cálculos matemáticos e o desenvolvimento de 
APIs para as bibliotecas de Ciência de Dados, acelerando muito os algoritmos de mineração e 
de Machine Learning, podendo chegar a 100 vezes mais rápido que CPUs comuns. Muitos enge- 
nheiros criaram clusters com placas de vídeo da fabricante NVIDIA e, por muito tempo, tinham 
uma capacidade de processamento a baixíssimo custo. De olho neste mercado, a NVIDIA co- 
meçou a mudar o foco do seu negócio, passou a licenciar suas placas de vídeo com cláusulas 
de multa pesadas para o uso em Data Centers, e criou uma frente de mercado para Machine e 
Deep Learning, incluindo plataformas de desenvolvimentos, serviços em cloud e novos tipos de 
licenciamento para Data Centers. 
As bibliotecas que podem intercambiar a utilização de CPUs ou GPUs são as mais indica- 
das, abrindo caminho para a evolução da plataforma para ambientes mais complexos. As 
principais bibliotecas híbridas: Keras, TensorFLow, Microsoft CNTK, Caffe2, Chainer, Pytorch, 
Theano, Dmlc Mxnet. 
 
Treinamento de modelos analíticos 
Quanto mais rápido for o treinamento do 
modelo, mais rápido é o seu teste e análise 
de sua eficiência, não para ir para produção 
somente, mas se houver a necessidade de 
aprimoramento, todo o processo precisa ser 
repetido e muitas vezes os dados de entrada 
serem modificados ou novos dados incluídos, 
aumentando os volumes de processamento; 
 
o que pode exigir mais processamento a cada 
interação. Pode ser muito interessante a contratação de soluções em cloud com GPUSs para 
os processos de criação de modelos, enquanto se está descobrindo ou testando as diferentes 
estratégias de soluções de problemas. As formas de usarmos as GPUs podem ser com placas 
de processamentoadicionadas aos servidores locais, aquisição de servidores e sistemas dese- 
nhados para Inteligência Artificial, ou serviços em cloud. 
INFRAESTRUTURA DE DATA SCIENCE E CLOUD COMPUTING )
TABELA 1. FORNECEDORES POR TIPO DE SOLUÇÃO 
aa 
Là aà ão 
ence Processing Un 
ES TES CUTH 
dO 
CET 
Dell EMC Ready Solutions 
Fornecedores de Soluções 
dd 
em Clo 
PII E SS ILS 
A fome por processamento na utilização de modelos treinados não é a mesma exigida durante 
 
o treinamento, o que pode parecer ao primeiro olhar desapercebido algo estranho. O resultado 
do treinamento pode ser considerado uma API, um processamento dedicado com entrada e saída, 
que será usado por aplicações diversas. Muitos modelos podem até ser transformados em lingua- 
gem de máquina e integrados ao hardware, convertidos para serem utilizados por arquiteturas de 
FPGAS (field programmable gate arrays) ou ASICs (appliactoin-specific integrated circuits). 
INFRAESTRUTURA DE DATA SCIENCE E CLOUD COMPUTING &
Um cuidado precisa ser alertado: alguns frameworks de Ciência de Dados podem estar in- 
trinsicamente associados a um fabricante de processamento (CPUs ou GPUs), o que pode aca- 
bar dificultando a interoperabilidade da arquitetura, ou a uma solução de em cloud específica. 
A par de tudo, o que o nos aguarda no futuro? A computação quântica poderá estar dispo- 
nível através de serviços em cloud em um futuro próximo. Sua base é o processamento de al- 
goritmos de inteligência artificial de forma inacreditavelmente mais rápida. Isto é, conseguido 
através da utilização de qubits (quantum bits) e não bits. Os qubits podem ter de três a quatro 
estados e não somente os dois dos bits que estamos acostumados. Os qubits podem estar no 
estado de 1 ou O ou outros dois. Isso mesmo, outros dois. É o princípio que a física quântica 
utiliza e que concede o nome a esta computação. Apesar de seu uso já estar sendo estudado 
por algumas empresas e governos, há muita restrição de aplicação, a fim de que não caia em 
mãos erradas. 
1y) = a10) + BI1) 
 
Figura 4. Comparação do bit com o qubit. Fonte: Shutterstock. Acesso em: 18/03/2019. (Adaptado) 
 
 Tecnologias para coleta, armazenamento, análise e 
visualização de dados 
De onde vêm os dados? Essa é a principal pergunta a ser feita para a criação de uma solução 
de Big Data, sua principal matéria-prima são os dados e estes precisam ser transportados para 
o acondicionamento conforme regem as melhores práticas. Uma vez os dados estando em 
uma estrutura adequada, chega a vez da usina trabalhar, lapidando dados, transformando e 
dando forma e sentido para serem consumidos, chegando até às ferramentas de visualização. 
INFRAESTRUTURA DE DATA SCIENCE E CLOUD COMPUTING >
Algumas ferramentas foram descritas em tópicos mais adequados às suas funções, mesmo 
que elas possuam características de outros tópicos. A intenção foi facilitar a organização dos 
tópicos e distribuição do conteúdo. 
 
 Tecnologias e ferramentas de coleta de dados 
Dependendo da origem dos dados e suas características, precisamos de estratégias dife- 
renciadas. Dados já estruturados podem ser ajustados e transportados mais facilmente. Já os 
dados não estruturados precisam de algum ajuste ou ferramenta específica de coleta e, ainda, 
dados analógicos provindos de sensores e ferramentas de /oT, podem ser necessários para 
garantir os “Vs” do Big Data. 
Quando os dados são analógicos, a aquisição de dados faz o processo de exame de sinais 
que, medindo as verdadeiras condições físicas e transformando em sinais digitais, pode ser 
controlada por um computador. As estruturas de aquisição de dados, DAS (Data Aquisition 
Systems), convertem regularmente formas de onda simples em qualidades avançadas para a 
preparação. Algumas plataformas de loT já fazem esse trabalho e agregam flexibilidade para a 
maioria das necessidades. Já existem versões de sistemas operacionais em Linux com funções 
de loT, como o Ubuntu. Plataformas baseadas em hardware com miniPC ou as tecnologias de 
processamento existentes nos smartphones conectadas a equipamentos e sensores (Raspber- 
ry PI, Qualcomm Snapdragon, Intel NUC, etc.) também ajudam na aquisição de dados. Isso faz 
com que os sistemas saiam de um ambiente monolítico para um verdadeiro sistema nervoso, 
interligado, vivo, complexo e dinâmico. Logicamente este sistema não nasce dessa forma, mas 
depende se um roadmap alinhado à estratégia de negócios. Um exemplo de uso de dados 
oriundos de sensores são as centrais de Smart Cities, onde sinais de trânsito, geolocalização de 
ônibus, ambulâncias, viaturas, adicionados a informações de condições climáticas, usuários e 
incidentes criam um centro nervoso de informações para tomada rápida de decisão e acom- 
panhamento de eventos que necessitam de controle, servindo tanto para análise quanto para 
monitoração on-line. 
O Flume é um serviço distribuído, confiável e disponível para coletar, agregar e mover gran- 
des quantidades de dados de log eficientemente. Ele tem uma arquitetura simples e flexível, 
baseada em fluxos de dados de streaming. É robusto e tolerante a falhas com mecanismos de 
confiabilidade ajustáveis e muitos mecanismos de recuperação de falhas. Ele usa um modelo 
de dados extensível simples que permite a aplicação analítica on-line. O Flume está desenvol- 
vido em Java. Uma agente em Flume consome eventos entregues a ele por uma fonte externa 
como, por exemplo, um servidor web. A fonte externa envia eventos para o Flume em um for- 
INFRAESTRUTURA DE DATA SCIENCE E CLOUD COMPUTING &
mato reconhecido pela fonte (source) Flume de destino. Quando uma fonte de Flume recebe 
um evento, ele o armazena em um ou mais canais. O canal é um armazenamento passivo que 
mantém o evento até que seja consumido por um coletor (sink) do agente Flume. Um exemplo 
análogo ao canal é o de arquivo ou pasta, gerenciado pelo sistema de arquivos do sistema ope- 
racional, onde uma aplicação pode escrever, enquanto outra já utiliza (típica situação de logs 
de banco de dados). O sink remove o evento do canal e coloca-o em um repositório externo 
como HDFS (através do Flume HDFS sink) ou o reenvia para outra fonte de agente do Flume se- 
guinte (próximo passo de movimentação) no fluxo. A fonte e o sink dentro do agente fornecido 
são executados de forma assíncrona com os eventos armazenados no canal. 
Serviço 
LU 
Canal da 
memória 
 
Figura 5. Fluxo de dados do Flume. Fonte: The Cloud Avenue. Acesso em: 18 
 
O Sqoop é uma ferramenta projetada para transferir dados entre o Hadoop e os bancos re- 
lacionais ou mainframes. Podemos usar o Sqoop para importar dados de um RDBMIS (sistema 
de gerenciamento de banco de dados relacional), como MySQL ou Oracle, ou um mainframe 
para o sistema de arquivos distribuído Hadoop (HDFS), transformar os dados no Hadoop 
MapReduce e, em seguida, exportar os dados de volta para um RDBMS. O Sqoop automatiza 
a maior parte desse processo, contando com o banco de dados para descrever o esquema dos 
dados a serem importados. O Sqoop usa o MapReduce para importar e exportar os dados, o 
que fornece operação paralela, bem como tolerância a falhas. 
A saída desse processo de importação é um conjunto de arquivos que contém uma cópia 
da tabela ou conjuntos de resultados importados. O processo de importação é executado em 
paralelo. Por esse motivo, a saída será em vários arquivos. Esses arquivos podem ser arquivos 
de texto CSV, ou binário Avro ou SequenceFiles contendo dados de registro serializado. 
INFRAESTRUTURA DE DATA SCIENCE E CLOUD COMPUTING &
Um subproduto do processo de importação é uma classe Java gerada que pode encapsular 
uma linha da tabela importada. Essa classe é usada durante o processo de importação pelo 
próprio Sqoop. O código-fonte Java para essa classe também é criado para uso no processa- 
mento do MapReduce subsequente dos dados. Essa classe pode gravar (serializar) e recuperar 
(“desserializar”)dados para e do formato SequenceFile. Ele também pode analisar a forma de 
texto delimitado de um registro. Essas habilidades permitem o desenvolvimento de aplicativos 
MapReduce que usam os registros armazenados em HDFS em seu pipeline de processamento. 
Depois de manipular os registros importados (por exemplo, com MapReduce ou Hive), exis- 
te a possibilidade de se ter um conjunto de dados de resultado que pode então ser exporta- 
do de volta para o banco de dados relacional. O processo de exportação do Sqoop lerá um 
conjunto de arquivos de texto delimitados do HDFS em paralelo, analisá-los em registros e 
inseri-los como novas linhas em uma tabela de banco de dados de destino para consumo por 
aplicativos externos ou usuários. 
O Sqoop inclui alguns outros comandos que permitem inspecionar o banco de dados com 
o qual estamos trabalhando. Por exemplo, podemos listar os esquemas de banco de dados 
disponíveis (com a ferramenta sqoop-list-databases) e tabelas dentro de um esquema (com a 
ferramenta sqoop-list-tables). O Sqoop também inclui um shell de execução SQL primitivo (a 
ferramenta sqoop-eval). 
A maioria dos aspectos da importação, geração de código e processos de exportação podem 
ser personalizados. Para bancos de dados, podemos controlar o intervalo de linhas ou colunas 
específicas importadas. Podemos especificar delimitadores customizados e caracteres especiais 
para a representação baseada em arquivo dos dados, bem como o formato de arquivo usado. 
Também é possível controlar os nomes de classe ou pacote usados no código gerado. 
 
 Tecnologias e ferramentas de armazenamento de dados 
Já analisamos as características do Hadoop HDFS e sua indicação de uso está associada a 
processamentos em batch (off-line). 
A Apache Kafka é uma plataforma versátil de armazenamento e também de streaming 
com três principais recursos: 
* Permite a publicação e assinatura de fluxos de registros, semelhante a uma fila de mensa- 
gens ou sistema de mensagens corporativo; 
* Armazena fluxos de registros em uma maneira durável e tolerante a falhas; 
* Processa fluxos de registros à medida que ocorrem. 
O Kafka é geralmente usado para duas classes amplas de aplicações: 
INFRAESTRUTURA DE DATA SCIENCE E CLOUD COMPUTING O
* Construir pipelines de dados de streaming em tempo real que obtenham dados de forma 
confiável entre sistemas ou aplicativos; 
* Criar aplicativos de streaming em tempo real que transformam ou reagem aos fluxos 
de dados. 
Para entender como Kafka faz essas coisas, vamos mergulhar e explorar as capacidades de 
Kafka de baixo para cima. Primeiro, alguns conceitos: 
* Kafka é executado como um cluster em um ou mais servidores que podem abranger vá- 
rios Data Centers; 
* O cluster Kafka armazena fluxos de Registros em categorias chamadas Tópicos; 
* Cada registro consiste em uma chave, um valor e um carimbo de data/hora (timestamp). 
O Kafka tem quatro APIs principais: Producer API, Consumer API, Streams API, Connector API. 
Consumir 
[ACRE o 
Escrever dados Kafka 
Produzir 
Escrever 
 
Figura 6. APIs do Kafka. Fonte: ITNEXT. Acesso em: 19. (Adaptado) 
* A Producer API permite que um aplicativo publique um fluxo de registros em um ou mais 
tópicos do Kafka; 
* A Consumer API permite que um aplicativo assine um ou mais tópicos e processe o fluxo de 
registros produzidos por eles; 
* À Streams API permite que um aplicativo atue como um processador de fluxo, consumindo 
INFRAESTRUTURA DE DATA SCIENCE E CLOUD COMPUTING O
um fluxo de entrada de um ou mais tópicos e produzindo um fluxo de saída para um ou mais 
tópicos de saída, transformando efetivamente os fluxos de entrada em fluxos de saída; 
* À Connector API permite criar e executar produtores ou consumidores reutilizáveis que 
conectam tópicos do Kafka a aplicativos ou sistemas de dados existentes. Por exemplo, um 
conector para um banco de dados relacional pode capturar todas as alterações em uma tabela. 
Em Kafka, a comunicação entre os clientes e os servidores é feita com um protocolo TCP 
agnóstico, de linguagem simples e de alto desempenho. Este protocolo possui versionamento 
e mantém a compatibilidade retroativa com a versão mais antiga. Há um cliente desenvolvido 
emJava para Kafka, mas outros clientes estão disponíveis em muitas linguagens de programa- 
ção, tais como: Python, Go, .NET, Node.Js, Ruby, PHP, Swift, entro outras. 
O Apache HBase - NoSQL Database não é adequado para todos os problemas. Primeiro, 
é necessário certificar-se do volume de dados suficientes. Se a solução precisa gerenciar cen- 
tenas de milhões ou bilhões de linhas, então HBase é um bom candidato. Se forem apenas al- 
guns milhares/milhões de linhas, então é melhor usar um RDBMS tradicional, devido ao fato de 
todos os dados poderem ocupar apenas um único nó (ou dois) e o resto do cluster pode estar 
ocioso. Em segundo lugar, certifique-se de que haverá a possibilidade de não haver todos os 
recursos extras que um RDBMS fornece (por exemplo, colunas com tipos de dados especiais, 
índices secundários, transações, linguagens de consulta avançadas, etc.). Um aplicativo criado 
com base em um RDBMS não pode ser “portado” para o HBase simplesmente alterando um 
driver JDBC, por exemplo. Considere a mudança de um RDBMS para HBase como uma refor- 
mulação completa em contraposição a uma simples estratégia de portar conectividade. Em 
terceiro lugar, certifique-se de ter hardware suficiente. Mesmo o HDFS não desempenha bem 
com nada menos de cinco DataNodes (devido a coisas como a replicação de bloco do HDFS que 
tem como padrão de três nós), além de um NameNode. O HBase pode funcionar muito bem 
em um laptop, mas isso deve ser considerado uma configuração de desenvolvimento, apenas. 
O uso do Apache HBase é indicado quando precisamos de acesso de leitura/gravação em tem- 
po real ao Big Data. O objetivo dele é a hospedagem de tabelas muito grandes (bilhões de linhas 
X milhões de colunas) em cima de clusters de hardware comuns. O Apache HBase é um banco de 
dados de código aberto, distribuído, com versionamento e não relacional, modelado após o BigTa- 
ble do Google: um sistema de armazenamento distribuído para dados estruturados. Assim como 
o BigTable aproveita o armazenamento de dados distribuído fornecido pelo sistema de arquivos do 
Google, o Apache HBase oferece recursos como BigTable em cima do Hadoop e do HDFS. 
Características: 
* Escalabilidade linear e modular; 
* Leituras e gravações estritamente consistentes; 
INFRAESTRUTURA DE DATA SCIENCE E CLOUD COMPUTING &
* Fragmentação automática e configurável de tabelas; 
* Suporte a failover automático entre RegionServers; 
* Classes base convenientes para fazer backup de trabalhos do Hadoop MapReduce com ta- 
belas Apache Hbase; 
* API Java fácil de usar para acesso de cliente; 
* Cachê de blocos e filtros Bloom para consultas em tempo real; 
* Filtros de consulta são enviados para servidores slaves por intermédio de “Server side filters”; 
* Gateway de thrift e um serviço da Web REST-full que oferece suporte a XML, Protobuf e op- 
ções de codificação de dados binários; 
* Shell com base em JRuby extensível (JIRB); 
* Suporte para exportar métricas através do subsistema de métricas do Hadoop para arqui- 
vos ou Ganglia; ou via JMX. 
 
Ferramentas de análise de dados 
Apache Mahout é uma biblioteca de álgebra linear com capacidade de computação distri- 
buída e projetada para permitir que matemáticos, estatísticos e cientistas de dados implemen- 
tem rapidamente seus próprios algoritmos. Possui ferramentas de Machine Learning para reco- 
mendação (de produtos, por exemplo), classificação e clustering. Suporte para vários backends 
distribuídos (incluindo o Apache Spark) e possui Solvers nativos modulares para aceleração de 
CPU/GPU/CUDA. 
O R é um ambiente de software livre para computação estatística e gráficos. Ele roda em uma 
ampla variedade de plataformas UNIX, Windows e MacOSe possui vários conectores e bibliote- 
cas que o conectam a servidores e serviços em nuvem para acesso a dados e processamento. 
O R é também uma linguagem de programação para computação estatística e gráficos. É 
um projeto GNU que é semelhante à linguagem S e ambiente que foi desenvolvido na Bell La- 
boratories (anteriormente AT&T, agora Lucent Technologies) por John Chambers e colegas. O R 
pode ser considerado como uma implementação diferente de S. Existem algumas diferenças 
importantes, mas muito código escrito para S é executado inalterado R. 
O R fornece uma grande variedade de estatística (modelagem linear e não linear, testes estatiís- 
ticos clássicos, análise de séries temporais, classificação, agrupamento, etc.) e técnicas gráficas, e é 
altamente extensível. A linguagem S é muitas vezes o veículo de escolha para a pesquisa em metodo- 
logia estatística, e o R fornece uma alternativa de código aberto para a participação nessa atividade. 
Um dos pontos fortes do R é a facilidade com que gráficos de alta qualidade são publicados, 
incluindo símbolos matemáticos e fórmulas onde for necessário. Grande cuidado foi tomado 
INFRAESTRUTURA DE DATA SCIENCE E CLOUD COMPUTING >
sobre os padrões de design gráficos, mas o usuário retém controle total de suas características. 
O Apache Spark é um sistema de computação de cluster rápido e de uso geral. Ele fornece 
APIs de alto nível em Java, Scala, Python e R e um mecanismo otimizado que oferece suporte 
a gráficos de execução geral. Ele também suporta um rico conjunto de ferramentas de nível 
superior, incluindo o Spark SQL para SQL e processamento de dados estruturados, MLlib para 
aprendizado de máquina, GraphX para processamento de gráfico e Spark streaming. O Spark 
usa as bibliotecas de cliente do Hadoop para HDFS e YARN. 
Keras é uma API de redes neurais de alto nível, escrita em Python e capaz de funcionar em 
cima de TensorFlow, CNTK ou Theano. Foi desenvolvida com foco em possibilitar a experimenta- 
ção rápida. Ser capaz de ir de uma ideia para o resultado com o menor tempo possível é a chave 
para fazer uma boa pesquisa. A biblioteca Keras possibilita a utilização de Deep Learning que: 
* Permite prototipagem fácil e rápida (através da facilidade de utilização, modularidade e 
extensibilidade); 
* Suporta ambas as redes neurais convolucionais e recorrentes, bem como combinações 
dos dois; 
* Funciona perfeitamente em CPU e GPU; 
* Keras é compatível com: Python 2.7-3.6. 
Princípios orientadores: 
* Facilidade de utilização. Keras é uma API projetada para seres humanos, não máquinas. Co- 
loca a experiência do usuário em primeiro lugar. A Keras segue as melhores práticas para reduzir 
a carga cognitiva: oferece APIs consistentes e simples, minimiza o número de ações do usuário 
necessárias para casos de uso comuns e fornece feedback claro e acionável sobre os erros; 
* Modularidade. Um modelo é entendido como uma sequência ou um gráfico de módulos 
autônomos e totalmente configuráveis que podem ser conectados com o máximo de restri- 
ções possíveis. Em particular, camadas neurais, funções de custo, otimizadores, esquemas de 
inicialização, funções de ativação e esquemas de regularização são todos os módulos autôno- 
mos que podem ser combinados para criar novos modelos; 
* Fácil extensão. Novos módulos são simples de adicionar (como novas classes e funções), 
e os módulos existentes fornecem exemplos amplos. Para ser capaz de criar facilmente novos 
módulos, permite a expressividade total, tornando Keras adequado para pesquisa avançada; 
* Trabalho com Python. Não há arquivos de configuração de modelos separados em um 
formato declarativo. Os modelos são descritos no código Python, que é compacto, mais fácil 
de depurar e permite a facilidade de extensibilidade. 
As bibliotecas em Python ajudam muito com a interface do Jupyter Notebook, em uma forma 
ilustrativa e interativa de análise da casos. 
INFRAESTRUTURA DE DATA SCIENCE E CLOUD COMPUTING O
 
 Ferramentas de visualização de dados 
A maioria das ferramentas de análise de dados já possuem recurso de visualização de dados, con- 
tudo, para o compartilhamento de informações entre diferentes necessidade e perfis de usuários, as 
soluções de Big Data podem incluir ferramentas específicas, facilitando a publicação de divulgação de 
análises e resultados. Os principais objetivos das ferramentas de visualização de dados são: 
* Simplificar a complexidade de quantitativa da informação; 
* Analisar e explorar os dados de forma mais simplificada; 
* Identificar áreas de melhoria; 
* Identificar os relacionamentos entre as variáveis e suas diferentes visões; 
* Explorar novos padrões e revelar outros não tão claros; 
É importante considerar alguns fatores básicos da visualização de dados que não devem ser 
ignorados: 
* Clareza visual: garantir que o grupo de informações está completo e relevante. Isso pos- 
sibilita que o analista de dados possa ter confiança ao visualizar o conteúdo; 
* Acuracidade: garantir que a representação gráfica está apropriada para passar a mensa- 
gem correta; 
* Eficiência: usar as técnicas visuais que destacam todos os dados importantes, principal- 
mente se houver comparações. 
OJupyter Notebook é um aplicativo web de código aberto que permite a criação e compartilha- 
mento de documentos interativos que contenham execução de código ao vivo, equações, visualiza- 
ções e texto narrativo. Os usos incluem: limpeza e transformação de dados, simulação numérica, 
modelagem estatística, visualização de dados e Machine Learning. O notebook estende a aborda- 
gem baseada em console para a computação interativa em uma direção qualitativamente nova, 
fornecendo um aplicativo baseado na web adequado para capturar todo o processo de computa- 
ção: desenvolvendo, documentando e executando código, bem como comunicando os resultados 
conforme o seu processo de execução. O Jupyter Notebook combina dois componentes: 
* Um aplicativo web: uma ferramenta baseada em navegador para criação interativa de 
documentos que combinam texto explicativo, matemática, computações e sua saída em Rich 
Media (gráficos, textos e outros tipos de conteúdo); 
* Documentos de notebook: uma representação de todo o conteúdo visível no aplicativo 
web, incluindo entradas e saídas das computações, texto explicativo, matemática, imagens e 
representações de Rich Media de objetos. 
INFRAESTRUTURA DE DATA SCIENCE E CLOUD COMPUTING &
a 
O universo das soluções de Big Data atrelados a Data Science está no topo da tecnologia 
atual, permitindo alcançar patamares de processamento nunca antes alcançados. O aprovei- 
tamento das informações disponíveis torna as empresas mais competitivas e inovadoras. 
As principais características do Big Data são: volume, velocidade, variedade, veracidade e valor. 
Grande parte das soluções são Open Source, isto é, estão disponíveis a baixo custo para uti- 
lização profissional. O ambiente é distribuído conforme o próprio ciclo de vida da informação: 
Fontes de Dados, Aquisição de Dados, Armazenamento e Transformação, Análise e Modela- 
gem, Visualização e Compartilhamento. 
O processo de criação de soluções de Data Science é interativo e investigativo. 
Há uma variedade de linguagens usadas em Big Data. Cada fase do ciclo de vida das soluções 
exige características específicas e, por este motivo, podem se utilizar de linguagens diferentes. 
Para simplificar, podemos dizer que para o back-end (movimentação e transformação) o Java e 
Pig se tornam muito importantes, e para front-end (visualização) o Python e R são as linguagens 
mais utilizadas. Isso não quer dizer que outras linguagens não possam ser usadas. 
DIAGRAMA 4: RESUMO DA INFRAESTRUTURA DE BIG DATA 
VISUALIZAÇÃO 
UTILIZAÇÃO 
Os dados podem vir de diferentes fontes: ERPs, CRMs, portais de compras, etc.; o que seria 
trivial, contudo, o mundo externo gera informações relevantes que, se antes não havia formaeconômica de processamento, agora não é mais uma desculpa. Diferentes fontes de informa- 
ção podem ser conectadas às soluções de Big Data para a criação de um verdadeiro sistema 
nervoso, ouvindo e interagindo com o ambiente exterior através de recursos de loT. 
INFRAESTRUTURA DE DATA SCIENCE E CLOUD COMPUTING O
Nos envolvemos um pouco mais com a tecnologia MapReduce, que é a abordagem de aces- 
so a dados baseada em distribuição e paralelização de processamento, além de redução de 
informações para processar dados em larga escala. 
Entendemos que o HDFS é a forma mais primária de armazenamento em clusters, com foco 
em tolerância a falhas, utilizando-se de servidores comuns. 
Uma vez os dados armazenados e com acesso veloz, chega a vez da análise de dados sendo 
que, para isso, existe o Data Science. Literalmente há que se garimpar os dados com algoritmos 
diversos em busca das soluções para as perguntas de negócio, que são o guia de toda solução 
de Big Data. Nesse garimpo, ao invés de pás e picaretas, usamos bibliotecas de Machine Learning 
e Deep Learning para criarmos modelos matemáticos que façam sentido, que possam prever si- 
tuações e ajudar nas tomadas de decisão. A visualização ajuda muito na fase de interpretação de 
dados, quase que como um detector de metais em meio a montanhas de dados. 
LISO 
b 
 INFRAESTRUTURA DE DATA SCIENCE E CLOUD COMPUTING (>
Referências bibliográficas à 
APACHE HADOOP. Disponível em: <http://pig.apache.org/>. Acesso em: 25 fev. 2019. 
APACHE HADOOP. MapReduce. Disponível em: <https://hadoop.apache.org/docs/>. Acesso 
em: 26 fev. 2019. 
CAVANILLAS, J. M. New horizons for a data driven economy. Galway: SpringerOpen, p. 39-61, 
2016. 
D-WAVE. Quantum computing. Disponível em: <https://www.dwavesys.com/quantum-com- 
puting>. Acesso em: 26 fev. 2019. 
JUPYTER NOTEBOOK. Disponível em: <https://jupyter-notebook.readthedocs.io/en/stable/ >. 
Acesso em: 27 fev. 2019. 
NEW GEN APPS. What is Hadoop and how it changed Data Science? Disponível em: <https:// 
WWww.newgenapps.com/blog/what-is-hadoop-and-how-it-changed-data-science>. Acesso em: 
26 fev. 2019. 
NVIDIA. Get started with deep learning. Disponível em: <https://www.nvidia.com/en-us/ 
deep-learning-ai/developer/>. Acesso em: 26 fev. 2019. 
RADAR, O. Big Data now: current perspectives from O'Reilly Media. [s.1.], 2012. 
SQREAM. Dead or alive and kicking? Big Data helps retail revive. Disponível em: <https:// 
sqream.com/dead-or-alive-and-kicking-big-data-helps-retail-revive/>. Acesso em: 18 mar. 2019. 
INFRAESTRUTURA DE DATA SCIENCE E CLOUD COMPUTING E
 
DELAS EDIT ET 
Entender a arquitetura da infraestrutura de Big Data 
e seu histórico; 
Aprofundar sobre os componentes básicos do 
Hadoop e seus funcionamentos; 
Conhecer os componentes do ecossistema do 
Hadoop. 
ALGUM 
Clique aqui 
b 
ES ERES UT [o 
Componentes principais do Hadoop Processamento MapReduce 
60 que é o Hadoop? 
Cache distribuído e segurança 
HDFS e MapReduce O Segurança 
O YARN O Identidade do usuário 
Seek time x transfer time, o que faz Ecossistema Hadoop 
diferença em soluções de Big Data 
Arquitetura Hadoop 
Cluster Hadoop 
INFRAESTRUTURA DE DATA SCIENCE E CLOUD COMPUTING O 
 
 Componentes principais do Hadoop 
O Data Science é ávido por dado, sua matéria-prima. Ele necessita de rápido acesso à maior 
quantidade de dados possível para obtenção de resultados significativos (volume e velocidade). 
Sempre houve uma competição de recursos nas corporações entre transações OLTP (On-line 
Transaction Processing) e OLAP (On-line Analytical Processing). A primeira delas se dedica à ob- 
tenção de desempenho para que as transações únicas sejam realizadas de forma mais acurada 
e rápida, com integridade de dados e de forma rápida, acontecendo em menos de uma dezena 
de segundos. As soluções de OLTP garantem que o tempo de resposta seja ade- 
quado, mesmo com milhões de transações iguais ocorrendo simultaneamente. MALSUNUIA 
 
EXEMPLIFICANDO o 
Um bom exemplo é o funcionamento das transações financeiras, como compra por car- 
tão de crédito. Os objetivos dela são a verificação de identidade (cartão válido, senha e 
estabelecimento), a análise de saldo e limites, a baixa de valores, o registro de paga- 
 
mento, confirmações e a atualização de saldo. 
A segunda delas, por sua vez, procura acelerar as análises que agrupam várias tran- 
sações por diferentes ângulos ou dimensões (tempo, sequência, tipo, valores, região, 
etc.) para criar conclusões ou insights. No passado, por racionamento de recursos com- 
putacionais, a concorrência entre esses dois tipos de transação acabava por priorizar as 
OLTPs, deixando as OLAPs para grupos menores dentro das corporações - os chamados 
silos -, gerando informações incompletas, não integradas ou conceitualmente diferentes 
sob o ponto de vista corporativo. 
Com a chegada das tecnologias de Big Data, inicialmente criadas para resolver os problemas 
de empresas que necessitavam de enormes volumes de dados, como Yahoo! e Google, e ao 
mesmo tempo tinham que analisar e buscar dados para os seus mecanismos de pesquisa na 
web - a abordagem dos bancos de dados relacionais (RDBMS - Relational Data Base Manage- 
ment Systems) foi profundamente transformada. 
No entanto, colocar conteúdos não estruturados em RDBMS continua sendo um desafio. 
Ele é mais indicado para transações OLTPs e o que temos na web são arquivos HTML, imagens, 
vídeos, links para outras páginas, que não precisam seguir um padrão predefinido. 
Imaginemos que uma pesquisa por qualquer palavra na internet traga todas as páginas já 
publicadas a respeito dela, com uma apresentação por relevância e atualização. A base dos 
RDBMS são os índices, arquivos secundários que organizam os dados registrados em formato 
INFRAESTRUTURA DE DATA SCIENCE E CLOUD COMPUTING O
de tabela; se a busca acontecer por uma coluna (campo) indexado, a velocidade de pesquisa 
é imediata, mesmo para grandes bancos de dados, mas se não houve um índice, o RDBMS 
buscará a informação linha a linha da tabela (Table Scan). Sendo assim, a modelagem de dados 
relacionais procura identificar as formas de uso da base e criar estruturas que geram o melhor 
desempenho transacional. 
No entanto, vale uma observação: para as transações OLAP, que precisam analisar os 
dados a partir de vários ângulos, seria necessário ter índices para todos os campos. Isso, 
na verdade, construiu uma nova forma de estruturar os dados com a estratégia contrária 
da normalização, isto é, a desnormalização. Como o volume de dados da internet cresce 
exponencialmente, mesmo as estruturas OLAPs não são suficientes para os enormes 
volumes de dados. 
A estratégia foi considerar que o Table Scan precisa ser mais rápido. Essa premissa mudou 
completamente a forma de pensar dos engenheiros de dados. Eles concluíram que uma ótima 
forma de aumentar o desempenho do Table Scan é não guardar as informações em tabelas e 
sim em colunas. Esse foi o “ovo de Colombo" das soluções de Big Data. Com essa separação, os 
scans por coluna podem ser divididos por processos e, por consequência, podem ser paraleli- 
zados. Assim, haverá processos em vários servidores. 
As pesquisas, então, são mapeadas, divididas por colunas, distribuídas para outros servido- 
res dedicados às colunas envolvidas na consulta. Elas preparam os resultados e devolvem para 
um orquestrador que junta os dados resultantes e controla a forma como são consumidos, 
pois o tamanho da resposta sempre é muito grande também. 
Hoje, todo esse conhecimento está disponível em plataformas Open Source. Há um ecos- 
sistema chamado Apache Hadoop que é o motor por trás da maioria das tecnologias de Big 
Data do mercado. Ele está em evolução contínua para manter o desempenho de soluções que 
manipulam muitos dados em formatos variados. 
 
 O que é o Hadoop? 
O Hadoop é um framework de código aberto criado pela Apache Software Foundation

Continue navegando