Prévia do material em texto
BIG DATA ANALYTIC E A
TOMADA DE DECISÕES
Programa de Pós-Graduação EAD
UNIASSELVI-PÓS
Autoria: Fernando Gama da Mata
CENTRO UNIVERSITÁRIO LEONARDO DA VINCI
Rodovia BR 470, Km 71, no 1.040, Bairro Benedito
Cx. P. 191 - 89.130-000 – INDAIAL/SC
Fone Fax: (47) 3281-9000/3281-9090
Reitor: Prof. Hermínio Kloch
Diretor UNIASSELVI-PÓS: Prof. Carlos Fabiano Fistarol
Equipe Multidisciplinar da Pós-Graduação EAD:
Carlos Fabiano Fistarol
Ilana Gunilda Gerber Cavichioli
Jóice Gadotti Consatti
Norberto Siegel
Camila Roczanski
Julia dos Santos
Ariana Monique Dalri
Marcelo Bucci
Revisão Gramatical: Equipe Produção de Materiais
Diagramação e Capa:
Centro Universitário Leonardo da Vinci – UNIASSELVI
Copyright © UNIASSELVI 2019
Ficha catalográfica elaborada na fonte pela Biblioteca Dante Alighieri
UNIASSELVI – Indaial.
M425b
Mata, Fernando Gama da
Big data analytic e a tomada de decisões. / Fernando Gama da
Mata. – Indaial: UNIASSELVI, 2019.
137 p.; il.
ISBN 978-85-7141-305-4
1. Big data analytic - Brasil. 2. Administração da produção – Brasil.
II. Centro Universitário Leonardo Da Vinci.
CDD 658.5
Impresso por:
Sumário
APRESENTAÇÃO ............................................................................5
CAPÍTULO 1
COMPREENDENDO A ANÁLISE DE
INFORMAÇÃO NO CONTEXTO DE BIG DATA ...............................7
CAPÍTULO 2
COMPREENDENDO E EXPLORANDO
TÉCNICAS PARA ANÁLISE DE BIG DATA ....................................49
CAPÍTULO 3
FUNDAMENTOS PARA INTEGRAÇÃO ANALÍTICA, TÓPICOS
AVANÇADOS E TENDÊNCIAS EM BIG DATA ANALYTICS ..........97
APRESENTAÇÃO
A dinâmica dos dados precisa ser compreendida para quem deseja trabalhar
com eles. Tudo começou com a transição Web, que permitiu novas formas de
armazenar conteúdo. Alinhado a isso, novas tecnologias surgiram. Custos de
hardware e software, fortalecimento da computação em nuvem, entre outros
fatores, permitiram que nos últimos anos houvesse uma explosão de dados. Além
do contexto histórico, mostraremos alguns exemplos para que você compreenda
como as novas tecnologias já estão sendo incorporadas em nosso cotidiano e
serão utilizadas como fontes de dados para nossas análises.
Na seção seguinte, exibiremos alguns exemplos de tipos de análise de
dados que podem ser aplicadas nos contextos de negócio. Neste sentido, você
compreenderá como diferenciar um tipo de análise de outro. A análise tradicional
será apresentada para que tenha condições de saber algumas limitações e
estabelecer algumas distinções com relação ao Big Data.
Por falar nisso, serão apresentados conceitos relacionados ao Big Data, bem
como citaremos alguns exemplos. Conceitos complementares e úteis também
serão mostrados, como dados estruturados, semiestruturados e não estruturados;
introdução a bancos de dados não relacionais e seus tipos: chave-valor, orientado
a documentos, orientado a colunas e aqueles baseados em grafos. Além disso,
apresentaremos uma importante diferença entre o processamento em batch (lote)
e processamento em tempo real.
Na parte final do capítulo será apresentada uma arquitetura típica de Big
Data composta pelas respectivas camadas: camada de extração de integração,
camada de armazenamento e fluxo de dados, camada de análise e camada de
apresentação. Será ainda conceituado o Hadoop e os componentes core, que
são fundamentais para o adequado funcionamento, assim como alguns módulos
complementares que podem ser utilizados de acordo com as necessidades do
projeto.
Neste capítulo abordaremos uma gama de técnicas voltadas especialmente
para as análises em cluster e mineração de texto. Você compreenderá o contexto
nos quais essas técnicas possuem a sua devida importância.
A primeira seção abordará os conceitos e os algoritmos para a análise de
cluster, técnicas tradicionais de particionamento e suas limitações, assim como
os algoritmos que podem ser empregados. Em seguida, serão apresentadas as
evoluções das técnicas que se adequaram às exigências de Big Data.
Já a segunda seção apresentará os principais conceitos voltados para um
subcampo da análise de rede - as redes socias. Você conhecerá as técnicas, as
métricas e as aplicações voltadas para esse amplo campo de estudo. Ao final
desta seção serão apresentadas algumas ferramentas que você poderá utilizar
nas suas análises.
Dando continuidade, a terceira seção abordará as técnicas voltadas à
mineração de texto. A contextualização do tema reforçará a complexidade
adicional de trabalhar com dados dessa natureza. Assim, é possível empregar
análises e utilizar métricas na tentativa de extrair insights interessantes mesmo
em grandes volumes de dados. Por fim, a quarta e última seção deste capítulo
encerrará tratando do Digital Analytics e suas implicações no mundo dos
negócios. Serão mostrados alguns conceitos relacionados a esse campo de
aplicação e como algumas empresas estão tirando proveito de métricas digitais
para impulsionar seus negócios.
Ao longo do capítulo procure experimentar ferramentas e pesquisar
adicionalmente alguns pontos que foram destacados.
Neste capítulo você terá um conteúdo um pouco mais voltado para a prática.
Antes, é necessário que você compreenda e consiga distinguir a relação entre um
ambiente de Extração-Transformação-Carga (ETL) de um ambiente de Extração-
Carga-Transformação. A diferença pode parecer sutil, mas na realidade revela
dois cenários distintos.
Em seguida você conhecerá o Apache Spark, como realizar a extração, a
transformação e a manipulação de dados. Além disso, conhecerá seus principais
componentes e características que os diferem. Destacaremos o principal
componente de sua estrutura - o RDD, na qual, inclusive, você será convidado a
implementar e assim consolidar seu aprendizado.
Na Seção 4 você aprenderá com mais profundidade a respeito dos conceitos
e aplicações de Internet das Coisas, bem como conhecerá algumas soluções já
disponíveis que podem ser utilizadas.
Na Seção 5 apresentaremos algumas tendências de Big Data para que
você esteja por dentro do que estará por vir e se antecipar para lidar com novos
problemas e soluções que virão.
Bons estudos!
CAPÍTULO 1
COMPREENDENDO A ANÁLISE DE
INFORMAÇÃO NO CONTEXTO
DE BIG DATA
A partir da perspectiva do saber-fazer, são apresentados os seguintes
objetivos de aprendizagem:
Defi nir e esclarecer os principais conceitos relacionados ao Big Data.
Apresentar componentes que compõem a arquitetura.
Analisar e discutir, a partir dos conceitos e da compreensão dos componentes
que fazem parte da arquitetura de Big Data, a distinção entre o emprego da
análise de dados tradicional e o Big Data.
8
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
9
COMPREENDENDO A ANÁLISE DE INFORMAÇÃO
NO CONTEXTO DE BIG DATA
Capítulo 1
1 CONTEXTUALIZAÇÃO
No atual século, o surgimento de novas tecnologias tem contribuído
signifi cativamente para uma explosão de dados gerados. Não à toa, vivemos no
ápice de uma era conhecida como a Era da Informação. É conveniente pensar que
grande parte dos dados gerados podem ser consumidos para os mais diversos
fi ns.
Diante deste cenário, empresas e Institutos de Pesquisa e Desenvolvimento
(P&D) têm investido cada vez mais em infraestrutura, sejam físicas ou em nuvem,
para suportar análises de dados cada vez mais robustas. No âmbito de empresas,
em geral, o intuito sempre visa no mínimo, tentar manter ou elevar suas
capacidades analíticas e assim tomar decisões que impulsionem seus negócios.
No que diz respeito aos Institutos de Pesquisa e Desenvolvimento, implementar
soluções que atendam aos requisitos de alto desempenho computacional é um
grande desafi o: são vídeos, imagens, textos, vozes, sons e os mais variados tipos
e estruturas de dados que precisam ser analisados na tentativa de prover novas
soluções em inúmeras áreas da ciência.
Desta forma, estão ganhando destaque nas mídias: Inteligênciapode construir Data Lakes em um
servidor físico ou utilizando a nuvem. Essa característica permitiu que o Data Lake
emergisse em tempos de Big Data. James Dixon (2010), fundador do Pentaho, fez
a seguinte analogia: você pode imaginar um Data Mart como uma loja de garrafas
de água - limpa, embalada e estruturada para fácil consumo - o Data Lake é uma
grande reserva de água em seu estado mais natural.
Essa analogia é bem pertinente. A Figura 9 retrata o funcionamento do
Data Lake: os dados de diferentes fontes com formatos, estruturas e tamanhos
diferentes chegam no reservatório (dataset) e vão sendo armazenados no seu
estado bruto. O cientista de dados vai ao reservatório e seleciona apenas uma
amostra de água (subset) que possa ser útil para sua análise. Ora, em uma
análise ad-hoc, uma amostra pequena pode ser o sufi ciente para extrair insights
em um determinado momento. Com isso em mente, o cientista analisa a amostra
coletada e constrói visualizações que estarão prontas para serem consumidas
pelos usuários fi nais. Microsoft e Amazon já oferecem soluções para construir
Data Lakes. Data Lake é um lago que armazena dados de diferentes fontes,
estruturas e tamanhos: é uma nova abordagem de armazenamento no processo
de gestão de dados.
39
COMPREENDENDO A ANÁLISE DE INFORMAÇÃO
NO CONTEXTO DE BIG DATA
Capítulo 1
FIGURA 9 – MODELO DE DATA LAKE
FONTE: . Acesso em: 15 nov. 2018.
Além disso, existem outras possibilidades de armazenamento que podem
ser consideradas, tais como: Bancos de Dados não Relacionais, como HBase, ou
mesmo no próprio Hadoop por meio do seu sistema de arquivo distribuído (HDFS)
que detalharemos mais à frente.
A estratégia para persistência dos dados varia de acordo com o seu objetivo,
por isso não existe uma maneira universal ou uma solução única para Big Data.
Cabe também frisar que os dados não podem ser armazenados de qualquer
modo, ao contrário, necessitam de mecanismos de controle e acesso.
Quando falamos de fl uxo de dados estamos nos referindo ao processo
de conduzir os dados que estão chegando em tempo real. Nesta situação, o
armazenamento precisa ser robusto o sufi ciente para resistir a seguidas leituras e
gravações em grandes volumes de dados. Eventualmente ocorrem falhas e, nesse
caso, é necessário implantar mecanismos que forneçam suporte de tolerância a
falhas. Por exemplo, em casos de ambiente em lote, existem muitos frameworks
que oferecem suporte necessário para lidar com fl uxo contínuo de dados, como
frameworks da família Apache, Apache Kafka, Apache Spark, Apache Flume e
Apache Storm. A Amazon também oferece uma solução para armazenamento de
dados streaming, como o Amazon Kinesis Firehouse (AWS, s.d.).
40
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
4.1.3 CAmADA DE ANáLiSE
A camada analítica consome os dados como foram armazenados na etapa
anterior. Dessa maneira, os objetivos de análise precisam estar defi nidos, algo
como:
• Você fará uma análise exploratória?
• Está buscando identifi car padrões nos dados ou segmentar um grupo de
clientes ou produtos de acordo com algum critério?
• Precisa fazer uma análise rápida para aquele atual momento (análise ad-
hoc)?
• Talvez precise de algo mais avançado, como prever comportamento de
compra de um consumidor, com base nas suas últimas compras e/ou
informações obtidas de conteúdo postado em seu blogue pessoal, ou até
mesmo baseado em preferências de seus amigos mais próximos?
Esses questionamentos são importantes para direcionar suas análises de
Big Data. Técnicas de análise de dados tradicionais podem ser empregadas,
contudo, precisam suportar o grande volume de dados ou o fl uxo em tempo real.
Além disso, ferramentas, frameworks e técnicas avançadas voltados para Big
Data podem ser utilizados para lidar com dados distribuídos. A etapa de análise
de Big Data é fundamental para extrair valor para os negócios e precisa ser bem
projetada, por essa razão, precisa dar conta de toda a demanda, fornecendo
máxima transparência ao usuário fi nal e entregando informações consistentes à
próxima camada.
Alguns desses valores são essenciais para maximizar o lucro das empresas
e também aprimorar o conhecimento de seu próprio negócio e dos seus
concorrentes. Com isso em mente, indústrias que trabalham com quaisquer
segmentos de fabricação (automotiva, alimentação, hospitalar etc.) visam sempre
à melhoria da sua efi ciência na cadeia de produção com a otimização de recursos
e redução de lucros. Não somente isso, o conhecimento a respeito dos seus
clientes, a busca pela sua fi delização e a defi nição de estratégias para captura
de novos clientes são atividades que representam o âmago da existência dessas
companhias.
4.1.4 CAmADA DE APrESENTAÇÃo
A camada de apresentação pode ser chamada de camada de consumo ou
front-end, diz respeito a como publicar e apresentar os resultados obtidos pela
análise. Por exemplo, na camada de armazenamento, é importante você defi nir
41
COMPREENDENDO A ANÁLISE DE INFORMAÇÃO
NO CONTEXTO DE BIG DATA
Capítulo 1
controle de acesso aos dados que serão consumidos, certifi cando quais áreas
ou pessoas da empresa podem interagir com os resultados e extrair os devidos
insights. Os requisitos de negócios podem exigir que se construa uma API
específi ca ou mesmo uma ferramenta de análise, um dashboard, um relatório ou
mesmo um sistema de recomendação de produtos.
Além de usuários a camada de aplicação pode ser responsável por
consumir aplicativos de diversos segmentos, como de marketing (Myrrix) ou de
mídias (Bluefi n). Essa camada também pode alimentar processos de negócio,
resolvendo rapidamente problemas e respondendo a mudanças inerentes a esses
ambientes. A Figura 10 esquematiza a arquitetura de Big Data comentada nesta
seção. A camada de extração e integração é onde tudo começa e a camada de
apresentação tem a ver com o consumo dos resultados gerados pelas análises.
FIGURA 10 – UMA ARQUITETURA GENÉRICA PARA
IMPLANTAÇÃO DE BIG DATA ANALYTICS
FONTE: O autor
42
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
1 Uma arquitetura típica para projetos de Big Data é formada por
quais componentes?
R.: ____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
2 Descreva um Data Lake.
R.: ____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
4.2 ECOSSISTEMA HADOOP
Uma arquitetura típica de Big Data precisa suportar o alto
volume e a variedade de dados e processá-los em um tempo hábil. O
Hadoop é um framework Open-Source que permite o processamento
distribuído de grandes massas de dados por intermédio de clusters
de computadores considerando modelos de programação simples.
Esses clusters são máquinas ou nós que estão distribuídos oferecendo
recursos de computação e armazenamento locais gerenciados por um
servidor. Por intermédio do Apache Hadoop é possível gerenciar um
grande volume de dados dos mais variados formatos. Mais do que
isso, a biblioteca fornece mecanismos automatizados para detecção e
correção de falhas e serviços com alta disponibilidade e escalabilidade.
O Hadoop é um
framework Open-
Source que permite
o processamento
distribuído de
grandes massas
de dados por
intermédio de
clusters de
computadores
considerando
modelos de
programação
simples. Esses
clusters são
máquinas ou
nós que estão
distribuídos
oferecendo recursos
de computação e
armazenamentolocais gerenciados
por um servidor.
43
COMPREENDENDO A ANÁLISE DE INFORMAÇÃO
NO CONTEXTO DE BIG DATA
Capítulo 1
A Apache disponibiliza uma lista de empresas que estão
utilizando o Apache Hadoop no seu Wiki: . Vale a pena conferir.
Dentro do projeto Hadoop existem alguns módulos, dentre estes, destaca-
se o Hadoop Distributed File System (HDFS), que se preocupa com questões
relacionadas ao armazenamento, enquanto que o Hadoop MapReduce está
interessado no processamento, ambos são componentes centrais do Hadoop.
Nesta seção, apresentaremos com um nível maior de detalhes os dois módulos.
Entretanto, tenha em mente que existem outros módulos core relacionados ao
Hadoop, conforme mostra a Figura 11. Módulos centrais da arquitetura Hadoop
são core porque constituem como base para implementação do Hadoop.
FIGURA 11 – OUTROS MÓDULOS CORE RELACIONADOS AO HADOOP
FONTE: O autor
4.2.1 HADooP DiSTriBuTED FiLE
SYSTEm (HDFS)
O Hadoop foi construído com o propósito de resistir às exigências da era
Big Data, ou seja, grandes volumes de dados podem ser processados em tempo
hábil. Em uma arquitetura típica, vimos que precisamos utilizar alguma forma de
armazenamento que seja fl exível e escalável para lidar com essa realidade. O
HDFS é um sistema de gestão de arquivos distribuído utilizado pelo Hadoop, que
permite armazenar grandes conjuntos de dados com diferentes tipos e formatos
44
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
utilizando cluster de computadores, por intermédio de máquinas de baixo custo
(hardware commodity), ou seja, o armazenamento é distribuído entre as máquinas
(nós) que compõem o cluster.
Dessa forma, o HDFS garante uma alta capacidade de armazenamento de
forma escalável segura, que inclui replicação de dados e tolerância a falhas, como
erros de leitura e escrita, que eventualmente venham a acontecer, de maneira
rápida e efi ciente. Tudo realizado com máxima transparência e com módulos
criados especifi camente para gerenciar operações de baixo nível, oferecendo-nos
uma visão única de todo o processo de armazenamento.
Diante disso, o HDFS possui uma arquitetura composta por dois componentes
principais: o NameNode e o DataNode. Foi projetado para lidar com casos de
inclusão ou exclusão de commodities no cluster sem afetar o andamento do
processo de armazenamento.
• Os NameNodes (master) serão os responsáveis por controlar o
armazenamento físico dos dados nos nós, ou seja, atuam como gerentes
do HDFS. À medida que os dados chegam no HDFS eles são divididos
em blocos. O NameNode grava as informações de envio de cada bloco
e os armazena nos DataNodes. Assim, os NameNodes controlam
informações centrais de acesso, leituras, gravações, criações e exclusões
de blocos de dados, criam metadados para mapear onde os dados estão
armazenados. Por questões de segurança, a replicação dos dados entre
os DataNodes é algo importante, especialmente porque em caso de falha
ou pane, é possível que as informações sejam recuperadas. Ainda no
que se refere a essa questão, um segundo NameNode pode ser criado
como alternativa para recuperação de falhas.
• Os DataNodes (slaves) comunicam-se constantemente com o
NameNode, processando e armazenando os blocos de dados nos discos
locais das máquinas destino. Essa comunicação é importante para que,
em caso de falha, o DataNode possa comunicar-se ao NameNode que
executa um processo de recuperação.
4.2.2 HADooP MAPREDuCE
Talvez você conheça o algoritmo MapReduce, presente em algumas
linguagens de programação. É um modelo de programação simples e poderoso
que processa de forma distribuída e paralela grandes conjuntos de dados.
O pressuposto do algoritmo é resolver problemas complexos, dividindo-os
45
COMPREENDENDO A ANÁLISE DE INFORMAÇÃO
NO CONTEXTO DE BIG DATA
Capítulo 1
em pequenos conjuntos de problemas e, em seguida, resolvendo-os de forma
paralela. Isso é feito através de algumas etapas como:
• Map: recebe como parâmetro um conjunto de dados de entrada, uma
chave e um valor e realiza operações, como fi ltragem, agrupamento
e classifi cação. Um processo adicional que é capaz de organizar,
ordenar e transferir os dados de Map para o Reduce é conhecido como
Shuffl e e pode ser encontrado em alguns esquemas que detalham o
funcionamento do MapReduce.
• Reduce: é responsável por receber dados de Map no formato (chave,
valor) em seguida realiza a agregação e a redução dos dados.
Para exemplifi car, considere que você está interessado em saber o total de
funcionários de uma empresa por departamento. Map receberá como input os
funcionários e os departamentos que os alocam, mapeando-os em um formato
(chave, valor). Antes de serem entregues para Reduce, esses dados são
organizados e ordenados (Shuffl e). Em seguida, Reduce recebe esse conjunto de
valores, realiza a agregação somando o número de funcionários por departamento
e entrega o resultado fi nal.
Para conhecer mais a respeito do funcionamento do MapReduce,
não deixe de visitar o site: .
4.2.3 HADooP: CommoN, YArN E OZoNE
A versão 2.x do Hadoop apresenta outros componentes core para arquitetura
Hadoop.
• Hadoop Common: projetado em linguagem Java, representa uma
estrutura base que fornece suporte para outros módulos construídos
no Hadoop, por intermédio de uma coleção de bibliotecas e utilitários.
É considerado um core do Apache Hadoop, pois é um módulo que é
iniciado automaticamente, tornando o ecossistema do Hadoop “plugável”.
46
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
• Hadoop YARN: consiste em um serviço central oferecido pelo Hadoop
para gerenciamento global de recursos e aplicações. É possível realizar
o agendamento e o monitoramento de recursos de hardware, como
consumo de CPU, disco ou memória. Avaliar, por exemplo, se um nó
dentro do cluster está submetido a demasiadas cargas de trabalho ou
apresenta algum outro problema (gargalo) que possa comprometer o
desempenho geral do cluster. De uma outra forma, o YARN deve garantir
recursos computacionais sufi cientes para execução de aplicações e ao
mesmo tempo gerenciá-los para um bom funcionamento em termos de
armazenamento e processamento do Hadoop.
• Hadoop Ozone: é um dos mais recentes módulos do Apache Hadoop.
Ele propõe uma semântica para armazenamento de dados no Hadoop.
Por meio do Ozone é possível gerenciar arquivos grandes e pequenos
com uma arquitetura simples, com excelentes mecanismos de
recuperação de falhas mais sérias que possam ocorrer no cluster.
4.2.4 OuTroS ComPoNENTES Do
ECoSSiSTEmA HADooP
Quando implantamos o Hadoop em nossos projetos, muitas vezes, surge
a necessidade de incorporar novos componentes que possam ser plugáveis
à nossa arquitetura de modo que possamos explorar novas possibilidades em
nossas análises e atender às demandas do negócio com rapidez e efi ciência.
Assim, encerramos este capítulo mostrando alguns destes componentes.
• Apache Hive: se você precisa de uma camada para armazenar dados
em lote, estruturados, que seja útil para análises avançadas, o Hive pode
ser a ferramenta certa. Sua sintaxe é simples, similar ao SQL, por meio
do Hive-QL (HQL), você pode manipular e gerenciar dados armazenados
em um ambiente de Big Data.
• Apache Pig: é um ambiente de execução interativo e mais acessível
para lidar com fl uxo de dados através do Pig Latin (linguagem) e o Pig
Runtime (ambiente de execução). É possível realizar pequenos testes
de execuções com uma sintaxe enxuta que suporta operações de
carregamento e armazenamento de dados, agrupamento, classifi cação
de dados etc. Além disso, tarefas MapReduce e criação de mecanismos
de extração, transformação e carga podem ser utilizados.
47
COMPREENDENDO A ANÁLISE DE INFORMAÇÃO
NO CONTEXTO DE BIG DATA
Capítulo 1
• Apache HBase: é um outro componenteimportante do ecossistema Big
Data. É um Banco de Dados não Relacional projetado para manter o alto
desempenho e suportar diferentes formatos e estruturas de dados.
• Apache Mahout: na camada de análise, é possível que estejamos
interessados em implementar modelos de Machine Learning. Neste
caso, podemos optar pelo Mahout, que fornece uma biblioteca escalável
para trabalhar com aprendizagem de máquina e mineração de dados,
sendo possível aplicar algoritmos, como de clusterização e classifi cação
em um ambiente preparado para garantir o alto desempenho na análise.
• Apache Sqoop: é uma ferramenta robusta para extração de grandes
volumes de dados, que posteriormente serão carregados para o HDFS e
vice-versa.
ALGUMAS CONSIDERAÇÕES
Diante de tudo que foi exposto neste capítulo, é possível perceber que o
surgimento de novas tecnologias, aliado a outros fatores, corroboram para o
crescimento do volume de dados digitais gerados em todo o mundo. A dinâmica
de mercado tem forçado as empresas a adotarem uma postura ofensiva para lidar
com situações adversas e a saída para isso, muitas vezes, está dentro de suas
bases de dados. Assim, informações estratégicas são fundamentais para manter
a competitividade.
Os cases apresentados reforçam a tendência no aumento do volume de dados
com a incorporação de novas tecnologias em nosso cotidiano. Logo, acredita-se
que a análise de dados crescerá na mesma proporção. Por isso, é fundamental
que empresas se empenhem em compreender que tipos e formatos de dados
precisam ser analisados. Dados não estruturados representam uma fonte rica
para extração de insights e são alvo de interesse das empresas especialmente
nos dias de hoje. Por isso, é necessário construir uma arquitetura que suporte o
alto volume de dados e que seja fl exível a variados tipos de estruturas.
Nesse cenário, o Big Data ganhou destaque para lidar com dados de grande
volume, dos mais variados formatos, tipos e tamanhos, tudo em um tempo hábil.
Para que o Big Data faça sentido para o negócio, é necessário que a arquitetura
projetada realmente entregue valor para a organização, fornecendo conhecimento
útil ou não trivial. Por essa razão, construir uma arquitetura adequada e alinhada
com os objetivos do negócio é um desafi o, mas perfeitamente possível. Conhecer
os conceitos, os métodos e as ferramentas disponíveis é o primeiro passo para
que você possa combinar esse conhecimento com sua real necessidade.
48
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
Ao fi nal deste capítulo apresentamos o Hadoop e alguns dos módulos que o
compõem. Recomendo fortemente que você busque informações mais detalhadas
relacionadas ao Hadoop, a fi m de complementar o seu conhecimento. Não caia
na tentação de explorar o Big Data na prática sem antes compreender bem os
conceitos que estão envolvidos.
Bons estudos!
REFERÊNCIAS
AWS. Whats is a data lake? [s.d.]. Disponível em: . Acesso em: 15 nov. 2018.
DOMO. Data never sleeps 6.0. [s.d.]. Disponível em: . Acesso em: 15 nov. 2018.
GARTNER. Big Data. 2018. Disponível em: . Acesso em: 15 nov. 2018.
______. Avandeced analitycs. 2017. Disponível em: . Acesso em: 15 nov. 2018.
HURWITZ, J. et al. Big Data para leigos. Rio de Janeiro: Alta Books, 2016.
MARR, B. Big Data using smart Big Data and metrics to make better
decisions and improve performance. United Kingdom: JohnWiley & Sons,
2015.
CAPÍTULO 2
COMPREENDENDO E EXPLORANDO
TÉCNICAS PARA ANÁLISE DE BIG DATA
A partir da perspectiva do saber-fazer, são apresentados os seguintes
objetivos de aprendizagem:
Conceituar e aplicar técnicas avançadas no mundo dos negócios.
Apresentar, descrever e explorar técnicas para análise de grandes volumes de
dados.
Discutir e demonstrar a aplicação de diferentes técnicas para análise de Big
Data.
50
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
51
COMPREENDENDO E EXPLORANDO TÉCNICAS PARA ANÁLISE DE BIG DATA Capítulo 2
1 CONTEXTUALIZAÇÃO
No capítulo anterior, vimos que o massivo crescimento no volume de dados
exigiu novas demandas para análise de dados. A pergunta que surge é: como criar
uma alternativa para lidar com toda essa dinâmica e entregar respostas rápidas
tendo em vista o suporte à tomada de decisão? Mais do que isso, como podemos
tornar esse processo menos custoso nas empresas? É importante pensar nesses
questionamentos a fi m de fornecer soluções apropriadas para o negócio para
garantir um bom custo-benefício.
Nos últimos anos, novas tecnologias (ou fontes de dados) têm surgido e são
capazes de criar conteúdo ou produzir dados em um menor intervalo de tempo.
Por exemplo, drones são responsáveis por criar conteúdo relacionado a imagens,
que podem ser úteis para mapear áreas de risco na agricultura, medir grau de
poluição nos rios e monitorar áreas de preservação ambiental para combater
o desmatamento. Sensores dos mais diversos tipos e tamanhos representam
uma outra rica fonte de dados que podem ser utilizados também para fi ns de
monitoramento, como: efi ciência de máquinas na produção de peças automotivas,
sensores de imagens para detecção de materiais e peças, ou sensores magnéticos
para abertura e fechamento de portas ou portões.
Como estamos imersos em tecnologias inovadoras, sem nos dar conta
disso, não precisamos ir muito longe para ratifi car. Se você pegar seu
smartphone, constatará que existem algumas funcionalidades que incorporam
o uso de sensores. Quando você programa o controle de brilho na sua tela de
forma automática, o sensor fará uma leitura da luminosidade do ambiente e a
adequará a sua tela. Sensores de acelerômetro conseguem medir informações
de orientação do aparelho e também determinar altitude por meio de giroscópios.
São muitos exemplos práticos em que a tecnologia está onipresente. Nesse
universo tecnológico são muitos dados sendo produzidos e estamos diante de
uma realidade na qual ferramentas tradicionais de análise de dados não fornecem
o devido suporte, o Big Data emergiu a partir disso.
Nessa atual conjuntura, vimos que o Big Data pode ser defi nido, mesmo
que de forma mais simplista, em função do volume e variedade dos dados que
são extraídos e analisados no tempo certo, ou seja, em uma velocidade ideal
de acordo com a demanda dos negócios. Os gestores de negócios, por sua
vez, necessitam de respostas cada vez mais rápidas e o processo de análise
precisa ser pensado e remodelado para dar conta dessa exigência. Por isso,
quando pensamos em construir uma arquitetura de Big Data que possa resistir
a essa dinâmica, precisamos criar mecanismos que otimizem todas as camadas
de análise. Desde o momento que coletamos os dados até o instante em que
52
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
apresentamos as visualizações ao usuário fi nal. Vale frisar que esse processo
não termina quando você implanta um modelo ou apresenta visualizações.
Ao contrário, todo o processo de Big Data é iterativo, precisando sempre ser
monitorado e, quando necessário, readaptado sob demanda. Por essa razão,
a arquitetura precisa ser muito bem pensada, a fi m de ser menos sensível a
eventuais modifi cações. Portanto, é vital que os objetivos de negócio (defi nido
na etapa de requisitos) tenham um escopo bem defi nido para que os analistas
possam direcionar seus estudos em função das reais necessidades da empresa.
Neste capítulo serão explorados conceitos, técnicas, ferramentas e
aplicações no mundo Big Data. Você conhecerá algoritmos e técnicas baseadas
em cluster, assim como compreenderá a importância da análise de dados em
redes sociais. Serão abordadas técnicas para analisar dados não estruturados
e, por fi m, o capítulo será encerrado com um estudo sobre o Digital Analytics,conceitos e implicações no mundo dos negócios. Faça bom proveito e bons
estudos!
2 CLUSTER: CONCEITOS E
ALGORITMOS BASEADOS EM BIG
DATA
Nós já comentamos sobre cluster no fi nal do capítulo anterior, mas o cluster
que abordaremos nesta seção não se refere a um cluster físico ou hardware,
embora grande parte do conhecimento obtido possa ser reaproveitado, mas, sim,
diz respeito ao clustering (agrupamento) em nível de dados, que exploraremos a
seguir.
2.1 CLUSTERING: CONCEITOS,
TÉCNICAS E ALGORITMOS
Em uma análise de dados tradicional, a clusterização (ou clustering) é um
método que visa classifi car um conjunto de pontos de dados semelhantes em
um mesmo grupo, ou seja, são pontos que apresentam um elevado grau de
similaridade entre si. Enquanto que, por outro lado, pontos de dados que estão
fora da margem desse grupo podem formar outros clusters que possuem elevado
grau de dissimilaridade entre eles.
53
COMPREENDENDO E EXPLORANDO TÉCNICAS PARA ANÁLISE DE BIG DATA Capítulo 2
A clusterização é uma técnica importante para classifi car pontos de dados
que não são rotulados previamente e parte do pressuposto que, uma vez que
pertençam a um mesmo grupo - de acordo com alguma métrica de distância
defi nida previamente -, os pontos de dados são homogêneos entre si e assim
podem ser rotulados. De acordo com a Figura 1, os pontos de dados foram
classifi cados em três grandes grupos (A, B e C) considerando alguma métrica de
distância. A linha que divide o grupo de dados representa a fronteira de decisão
que segmenta os grupos. É possível utilizar algumas métricas de distância que
se adéquam a determinados tipos de dados, tais como distância Euclidiana, de
Minkowski, de Manhattan, correlação, entre outras.
Você pode se aprofundar mais com relação às métricas de
distância por meio deste link: .
Quanto ao grau de dissimilaridade (ou divergência), ele é importante para
garantir que os pontos de dados que foram classifi cados fora da região (ou
margem) de um grupo realmente não fazem parte daquele determinado grupo.
Isso oferece uma alternativa adicional para verifi car o erro de classifi cação dos
objetos. Assim, podemos afi rmar que o grau de dissimilaridade dos objetos em
um cluster é dado por:
Dissimilaridade = 1 – Similaridade, onde:
Dissimilaridade ͼ [0,n]
54
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
FIGURA 1 – ANÁLISE DE DADOS BASEADA EM CLUSTER IDEAL PARA
CLASSIFICAR PONTOS DE DADOS NÃO ROTULADOS PREVIAMENTE
(APRENDIZAGEM NÃO SUPERVISIONADA), EM GRANDES GRUPOS
FONTE: . Acesso em: 2 fev. 2019.
Os métodos tradicionais baseados em cluster são muito utilizados em
mineração de dados com diferentes fi nalidades e podem ser divididos em:
• Métodos de particionamento: é um método que inicialmente cria uma
partição inicial defi nindo um número fi xo para o parâmetro K. Ao longo
do processo iterativo, busca otimizar o particionamento utilizando como
parâmetro alguma medida de distância (ou similaridade) que possa
ser implementada através de algoritmos como K-means (ou c-means),
CLARANS, PAN etc.
Uma forma interativa de observar visualmente o funcionamento
de um método de particionamento é através desta pequena aplicação:
. Você defi ne o
número de nós (N) do cluster e, em seguida, o parâmetro K (número
de clusters). Os pontos coloridos são o ponto de referência para a
formação dos grupos. Clique em “New” quantas vezes você julgar
necessário. Por fi m, ao clicar em “Step” você tem a representação.
55
COMPREENDENDO E EXPLORANDO TÉCNICAS PARA ANÁLISE DE BIG DATA Capítulo 2
• Métodos hierárquicos: este tipo de método particiona os dados no
cluster de forma hierárquica e fornece uma visualização em formato de
“dendograma”, que classifi ca os objetos de acordo com os seus níveis,
considerando como parâmetro medidas de distância ou similaridade entre
os pontos de dados. Os métodos hierárquicos podem ser classifi cados
como aglomerativo (abordagem bottom-up) ou divisivo (top-down),
estes, por sua vez, no que se refere a questões de interpretabilidade,
necessitam de participação ativa de um especialista do domínio para
esclarecer os resultados. Exemplos de algoritmos que implementam
métodos hierárquicos são: ROCK, DIANA, BIRCH, entre outros.
• Métodos baseados em densidade: são métodos que avaliam a
densidade em torno dos pontos que os cercam para defi nir a fronteira
do cluster de acordo com um determinado raio, ou seja, o crescimento
da região de densidade pode acontecer em quaisquer direções. Regiões
do cluster que apresentam baixa densidade podem indicar a presença de
outliers (anomalias). Alguns exemplos de algoritmos deste método são:
DBSCAN, DENCLUE e OPTICS.
• Métodos baseados em modelos: considera que os pontos de dados
estejam em função de probabilidade multivariada, criando hipóteses
para os grupos na tentativa de otimizar e encontrar um melhor modelo
que classifi que os grupos com base nesses ajustes estatísticos.
Expectation-Maximization (EM) e Self-Organizing Map (SOM) são alguns
exemplos de algoritmos relacionados a esse método.
• Métodos baseados em grid: basicamente divide o espaço de dados em
células formando uma estrutura em grid e defi ne os clusters considerando
a elevada densidade das células adjacentes. Alguns algoritmos que
podem ser implementados são: STING, WaveCluster e GRIDCLUS.
• Métodos evolutivos: inspirado em algoritmos genéticos e outras
abordagens evolutivas, tem como objetivo explorar de forma iterativa
um conjunto inicial e aleatório de soluções (clustering) e verifi ca, dentre
estas, qual é a melhor solução. O critério de parada é determinado a
priori.
O problema dos algoritmos tradicionais de agrupamento está relacionado
a sua inefi ciência para lidar com grandes volumes de dados, o que acaba
comprometendo todo o tempo da análise e tornando a utilização de Big Data
inviável para esse tipo de análise. Assim, a comunidade científi ca não mediu
esforços para superar esse desafi o e, dessa maneira, foram propostas novas
abordagens para enfrentar esse problema. Assim, novos algoritmos foram
56
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
propostos com a promessa de tornar esse tipo de análise adaptável à era do
Big Data, oferecendo não somente suporte a massivos volumes de dados, como
também a capacidade de serem escaláveis para atender à demanda das análises.
Diante disso, a clusterização em Big Data pode ser dividida em duas principais
categorias, conhecidas como: Single-Machine clustering e Multi-Machine
clustering. A principal diferença é que a primeira utiliza recursos computacionais
de uma única máquina para executar os dados, enquanto que a segunda pode
utilizar recursos de várias máquinas para obtenção de ganho computacional e
aumento de escalabilidade.
Chen, Ludwig e Li (2017) apresentaram um resumo das técnicas de
cluster voltadas para a Big Data que pode lhe fornecer uma boa base para a
compreensão do tema. A Figura 2 apresenta uma esquematização de técnicas e
de clusterização que visa atender às necessidades do Big Data.
FIGURA 2 – O BIG DATA CLUSTERING PODE SER DIVIDIDO EM DUAS
GRANDES TÉCNICAS: SINGLE E MULTI-MACHINE CLUSTERING
FONTE: Chen, Ludwig e Li (2017, p. 338)
Nas próximas seções, exploraremos técnicas de Single-Machine Clustering
e, em seguida, abordaremos as técnicas de Multi-Machine Clustering.
2.1.1 TÉCNiCAS DE CLuSTEriZAÇÃo Em
umA ÚNiCA MáQuiNA (SiNGLE-MACHiNE
CLuSTEriNG)
Muitos dos algoritmos voltados para a análise em cluster são
computacionalmente custosos e estão contidos em classes de problemas NP-
difícil, como é o caso do K-means - um dos algoritmos de particionamento mais
populares. Assim, uma das primeiras maneiras de enfrentar problemas dessa
natureza foi através da criação de técnicase algoritmos voltados para Single-
Sampling based
Techniques
Dimension Reduction
Techniques Parallel Clustering MapReduce Based
Clustering
Single-machine
Clustering Techniques
Multi-machine
Clustering Techniques
Big Data Clustering
57
COMPREENDENDO E EXPLORANDO TÉCNICAS PARA ANÁLISE DE BIG DATA Capítulo 2
Machine Clustering com o intuito de atender e dar suporte à alta demanda no
volume de dados na era Big Data. Dessa forma, conforme mostrado por Chen,
Ludwig e Li (2017), podemos dividir as técnicas de Single-Machine clustering de
duas formas: as que são baseadas em amostragem e aquelas voltadas para a
redução de dimensionalidade:
• Técnicas baseadas em amostragem: tem como objetivo generalizar
o conhecimento dos dados a partir de uma pequena amostra (sample)
retirada de todo o conjunto de dados. Assim, em vez de manipular todo
o volume de dados disponível, os algoritmos trabalham apenas com uma
pequena parcela do conjunto, isso signifi ca um menor número de pontos
de dados. Em razão disso, obtem-se um ganho de desempenho e os
efeitos da complexidade computacional são minimizados. A maioria das
técnicas baseadas em amostragem fazem parte da classe de algoritmos
de particionamento. Em geral, os algoritmos são: BIRCH, CLARANS,
PAM e assim por diante.
• Técnicas de redução de dimensionalidade: o tamanho dos dados
(dimensão) diz respeito ao número total de atributos (variáveis) em
relação ao número total de instâncias em um conjunto de dados. Caso
você estiver diante de um conjunto de dados com dimensão (2000000,
500) saiba que seria algo muito mais custoso que trabalhar com
conjuntos de dimensões (4000, 200). É em função dessa problemática
que as técnicas de redução de dimensionalidade foram pensadas, isto é,
reduzir a dimensionalidade do conjunto de dados para tornar o ambiente
de execução mais ágil. Desta forma, uma alternativa para resolver esse
problema seria reduzir a dimensão do conjunto de dados aplicando
tarefas de pré-processamento antes mesmo de aplicar os algoritmos
de análise em cluster. O PCA (Principal Component Analysis) é um
dos métodos mais populares que você pode utilizar para a redução de
dimensionalidade, ao remover atributos desnecessários e redundantes
para a análise. Métodos de projeção locais e globais também podem
ser utilizados para este fi m. Essas técnicas são muito utilizadas também
para extração e seleção de features para fi ns de otimização quando
construímos modelos de Machine Learning.
58
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
2.1.2 TÉCNiCAS DE CLuSTEriZAÇÃo Em
MÚLTiPLAS MáQuiNAS (MuLTi-MACHiNE
CLuSTEriNG)
Uma maneira aperfeiçoada para processar os dados em uma
análise em cluster é segmentar conjuntos de dados em partições
reduzidas e carregá-los em máquinas diferentes com o objetivo de tirar
vantagem do processamento individual dessas máquinas para ganhar
em escalabilidade e tempo de processamento. Em suma, é dessa
maneira que as técnicas de Multi-Machine clustering foram projetadas.
Como já vimos na Figura 2, podemos dividir essas técnicas em duas
grandes categorias: clusterização paralela e clusterização baseada
em MapReduce. Em ambos os casos, os dados são particionados e
distribuídos em máquinas diferentes que executam iterativamente suas
operações de cluster localmente e entregam os resultados a um cluster
fi nal que agrega os resultados locais e gera o resultado fi nal.
• Clusterização paralela: os dados são distribuídos em diferentes
máquinas e precisam ser gerenciados pelo desenvolvedor. É evidente
que este é um processo que demanda mais esforço na implementação,
porém, uma vez executado, os resultados apresentam melhor
desempenho em relação a abordagens tradicionais de processamento.
Pode-se citar alguns algoritmos, como ParMETIS, G-DBSCAN,
K-Means, PBIRCH e DBDC. Grande parte desses algoritmos foram
reformulados para suportar a computação paralela.
• ParMETIS: é um algoritmo de particionamento paralelo, derivado do
METIS, que foi otimizado com a fi nalidade de encontrar um bom cluster
de vértices em um grafo.
• G-DBSCAN: você recorda da versão DBSCAN que citamos em
métodos baseados em densidade? Foi construído uma versão
otimizada do DBSCAN, baseada em GPU, para incrementar o poder de
processamento, bem como a velocidade do algoritmo.
• K-Means: também foi remodelado para atender às exigências do
paralelismo. Existem diversos trabalhos que fornecem métodos de
paralelização utilizando este algoritmo.
• PBIRCH: uma versão derivada do algoritmo BIRCH dos métodos
hierárquicos.
Clusterização
paralela e
clusterização
baseada em
MapReduce. Em
ambos os casos,
os dados são
particionados e
distribuídos em
máquinas diferentes
que executam
iterativamente
suas operações de
cluster localmente
e entregam os
resultados a
um cluster fi nal
que agrega os
resultados locais
e gera o resultado
fi nal.
59
COMPREENDENDO E EXPLORANDO TÉCNICAS PARA ANÁLISE DE BIG DATA Capítulo 2
• DBDC: consiste em um algoritmo paralelo que constrói clusters utilizando
como parâmetro a densidade dos pontos.
• Clusterização baseada em MapReduce: é verdade que a clusterização
paralela trouxe melhorias signifi cativas em termos de desempenho
no que se refere a dados de grande volume. Entretanto, como já foi
abordado, na clusterização paralela existe uma complexidade maior de
gerenciamento por parte do desenvolvedor, que precisa se preocupar com
detalhes inerentes à paralelização, por exemplo, defi nir como os dados
serão distribuídos ou como criar mecanismos que forneçam suporte de
tolerância a falhas. O MapReduce é um modelo de programação simples
que permite que o desenvolvedor se preocupe apenas com a estratégia
que será adotada, tornando as tarefas de mais baixo nível transparentes
enquanto os dados são processados. Podemos afi rmar que essa é
uma das principais diferenças entre esses dois tipos de clusterização.
Da mesma forma que na clusterização paralela, o K-means também
foi adaptado à abordagem MapReduce, conforme mostra a Figura
3. Algoritmos como MR-DBSCAN e DBCURE-MR, MR-CPSO, EM e
BIRCH também foram aperfeiçoados com o emprego do MapReduce.
Além disso, algumas abordagens propõem o uso de GPU (GPMR) para
processar algoritmos para este fi m. Dentre elas, destacam-se:
• MR-DBSCAN: a união de um método baseado em densidade e um
modelo de programação MapReduce permitiu a construção desse
algoritmo.
• DBCURE-MR: consiste em um modelo baseado em densidade
combinado com o MapReduce, aprimorado para encontrar efi cientemente
diversos clusters de forma independente, considerando as densidades
que compõem os clusters.
• GPMR: é uma maneira ainda mais otimizada de conduzir a forma de
processamento baseado em CPU para GPU utilizando o MapReduce.
Permite um desempenho e uma escalabilidade ainda maior.
60
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
FIGURA 3 – UMA PROPOSTA DE APLICAÇÃO DO MAPREDUCE
AO ALGORITMO K-MEANS CLUSTERING
FONTE: . Acesso em: 10 nov. 2018.
Tendo em mente as técnicas e os algoritmos baseados em cluster que foram
apresentados até o presente momento, pode ser que você se pergunte: “Qual
desses algoritmos é o mais indicado?”. A resposta é simples: depende. De fato,
tudo dependerá do domínio do problema que você está trabalhando. Por exemplo,
se você estiver diante de um cenário onde o volume e a variedade dos dados
estejam sujeitos a poucas alterações, talvez o mais indicado seja empregar
métodos tradicionais de cluster, como particionamento ou hierárquico, ou mesmo,
de densidade. Por outro lado, se os requisitos de negócio exigirem que você
trabalhe com uma ampla variedade e volume de dados, seria bom pensar em
técnicas voltadas para o processamento em múltiplas máquinas, paralelizando
o conjunto de dados para compensar a possibilidade de altas taxas de latência
devido ao processamento dedados de grande volume. Tenha sempre em mente
61
COMPREENDENDO E EXPLORANDO TÉCNICAS PARA ANÁLISE DE BIG DATA Capítulo 2
que, se o problema é simples, resolva-o da forma mais simplifi cada
possível. Não agregue complexidade ao utilizar algoritmos de múltiplas
máquinas em cenários de implementação de baixa complexidade.
Portanto, direcione suas análises e decisão de escolha dos algoritmos
sempre de acordo com o domínio (ou problema) que está sendo
explorado. De qualquer modo, é importante que você considere alguns
fatores-chave para a seleção do melhor algoritmo:
• Volume dos dados: como já estudamos, grande parte dos
algoritmos de clusterização apresenta alta complexidade
computacional, por esse motivo, métodos e técnicas
tradicionais somente devem ser empregados em conjuntos de
dados pequenos.
• Variedade dos dados: algoritmos de clusterização não são
projetados para lidarem com tipos de dados diferentes. Ao
contrário, em geral, ou funcionam bem em dados numéricos ou
em dados categóricos. A etapa de transformação também pode
se tornar custosa para lidar com a variedade dos dados obtidos da fonte.
Conhecer o tipo de dado aceito pelos algoritmos que pretendemos
utilizar é uma tarefa importante.
• Total de parâmetros: quanto maior a dimensão vertical (colunas) dos
dados mais difícil se torna a tarefa de clusterização. Por isso, métodos
de redução de dimensionalidades podem ser úteis para minimizar os
efeitos que o excesso de parâmetros possa causar.
• Dimensionalidade: está relacionado ao número de linhas e colunas
que podemos exigir consideravelmente dos algoritmos de clusterização.
Remover dimensões irrelevantes é uma etapa fundamental para
melhorar o desempenho da análise.
2.2 CLUSTERING: APLICAÇÕES
Uma enquete realizada em 2017 pelo KDnuggets mostrou que, entre os
métodos voltados para a ciência de dados e aprendizagem de máquina, a
clusterização foi o segundo método mais empregado (55%) pelos usuários em
cenários reais de aplicação, fi cando atrás apenas dos métodos de regressão
(60%). Os resultados também apontam bons números de uso dessa técnica na
indústria, que fi cou em torno de 60%, e na área de pesquisa: 56,8%.
Problema é simples,
resolva-o da forma
mais simplifi cada
possível.
Não agregue
complexidade ao
utilizar algoritmos de
múltiplas máquinas
em cenários de
implementação de
baixa complexidade.
Portanto, direcione
suas análises e
decisão de escolha
dos algoritmos
sempre de acordo
com o domínio (ou
problema) que está
sendo explorado.
62
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
Com relação a essa enquete, acesse o site .
O que retrata tudo isso é a diversidade de aplicações que empregam as
análises em cluster, conforme será mostrado a seguir:
• Segmentação de clientes: as empresas inclinam-se a descobrir
padrões de consumo de seus clientes dividindo-os em grupos distintos e
tomando como base informações contidas em suas bases ou, em alguns
casos, fontes externas para agregar conhecimento aos seus negócios e
melhorar a experiência de seus produtos.
• Detecção de anomalias: a análise em cluster também é utilizada
para dividir grupos entre atividades suspeitas (ou ações fraudulentas)
e atividades normais de compras no cartão de crédito com base no
histórico de compras e renda dos clientes, por exemplo.
• Mecanismos de pesquisa: visam agrupar um conjunto de documentos
com base em suas similaridades. Quando pesquisamos algo em algum
buscador, este retorna um conjunto de artigos ou documentos que
possuem elevada similaridade com a palavra-chave que digitamos.
• Segmentação de imagens: dados de imagens como pixels também
podem ser utilizados para classifi car imagens em visão computacional.
Evidentemente que a tarefa se torna mais complexa em cenários dessa
natureza e, por essa razão, técnicas paralelas de análise de cluster têm
sido empregadas nesses casos.
Este artigo mostra alguns casos de aplicações que utilizam o
algoritmo de clusterização K-means. Acesse: .
Segue mais um link que pode complementar o seu aprendizado
com relação a um dos algoritmos mais conhecidos para a análise de
clusters - o K-Means: .
63
COMPREENDENDO E EXPLORANDO TÉCNICAS PARA ANÁLISE DE BIG DATA Capítulo 2
1 Dentre os métodos não supervisionados, a clusterização é uma das
técnicas mais utilizadas. Descreva as técnicas de clusterização e
em quais circunstâncias podem ser aplicadas.
R.: ____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
2 Disserte sobre o que representam os métodos baseados em
densidade. É possível encontrar anomalias (outliers) a partir
destes métodos? Se sim, de que forma?
R.: ____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
3 Descreva as principais diferenças entre as técnicas Single-Machine
clustering e Multi-Machine clustering. Apresente exemplos.
R.: ____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
64
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
Na próxima seção você aprenderá a respeito de uma análise comumente
empregada, especialmente com o advento de um novo meio de interação digital:
os relacionamentos digitais. Assim, estudaremos conceitos e componentes
de análise de rede, especialmente redes sociais que ampliarão o seu leque de
possibilidades de análises mais avançadas.
3 SOCIAL NETWORK:
COMPREENDENDO CONCEITOS E
APLICAÇÕES PARA A ANÁLISE DE
DADOS EM REDES SOCIAIS
Um dos meios que mais retratam essa nova era digital são as redes sociais.
Não há dúvidas de que muitos dados têm sido gerados a partir de posts no
Facebook, imagens no Instagram, vídeos no Youtube, entre outras redes sociais.
Enfi m, uma diversidade de conteúdos sendo produzidos por usuários em todo o
planeta. Um relatório publicado em 2018 pela We Are Social revelou que o total de
usuários de mídias sociais cresceu 13% em relação ao ano anterior, totalizando
3 bilhões e 196 milhões de usuários. O mesmo relatório apontou algo curioso: os
brasileiros consomem em média 3 horas e 39 minutos por dia com redes sociais,
ocupando a segunda colocação dos países que mais gastam tempo em redes
sociais, fi cando atrás apenas dos fi lipinos, que consomem 3 horas e 57 minutos
do tempo.
Com relação a esse relatório, acesse o site .Essa realidade evidencia o crescimento das redes sociais, que refl ete
diretamente no consumo e na geração de conteúdo. Isso signifi ca que existe
uma grande fonte de conhecimento que pode ser coletada, organizada e
explorada por ferramentas analíticas. Os resultados obtidos a partir disso podem
ajudar empresas a traçar estratégias para envolver o público com a sua marca,
analisar o sentimento do público com relação a um novo produto lançado, prever
tendências com base no comportamento social ou individual dos clientes, entre
outras possibilidades. Para que você possa tirar proveito desta seção, atente-se
aos conceitos e às técnicas que serão apresentadas.
65
COMPREENDENDO E EXPLORANDO TÉCNICAS PARA ANÁLISE DE BIG DATA Capítulo 2
3.1 ANÁLISE DE REDES SOCIAIS:
CONCEITOS IMPORTANTES
Usualmente uma rede pode ser defi nida em função da teoria dos
grafos: um grafo composto por um conjunto de vértices e arestas. No
âmbito de redes sociais, os vértices representam os atores sociais
(organização, pessoas ou entidades) e as arestas o relacionamento
(links) entre eles. Assim, através de uma rede social podemos observar
os relacionamentos entre pessoas compreendendo inclusive o grau
de relacionamento e interação entre elas. O foco da análise desse
tipo de rede está nas relações construídas entre os atores que se
constitui em forma de amizade, confi ança, interesse, parentesco, entre
outros aspectos. A diagramação é normalmente representada por
grandes quantidades de vértices (nós) e arestas (laços) e retratam a
complexidade deste ambiente.
A análise de redes sociais parte do pressuposto que extrairemos,
além da capacidade, meras informações quantitativas, tais como o
total de amigos que fazem parte de um círculo social de uma pessoa.
A ideia é ir a fundo e estudar aspectos relacionais no que diz respeito
à infl uência comportamental de uma pessoa ou um grupo de
pessoas, ou mesmo, o grau de conexão em relação aos outros componentes
que estão interconectados. É por isso que esse tipo de análise é interdisciplinar
e incorpora, além de análises computacionais e matemáticas, as ciências sociais,
a administração, a antropologia, a própria geografi a etc. A Figura 4 exemplifi ca a
representação de uma rede com suas interações. Os grupos podem ser divididos
por cores e tamanhos. Os relacionamentos entre os vértices podem ser também
representados pela espessura das linhas para reforçar o grau de conexão entre
estes.
Além da representação por grafos, as redes sociais podem ser defi nidas
por intermédio de matrizes ou lista de dados, que, por sua vez, possuem uma
representação mais matemática e podem ser reveladas através de números.
O grafo da Figura 4 é considerado direcionado, uma vez que os vértices
possuem uma direção predefi nida. Em contrapartida, grafos que não possuem
orientação e têm como função apenas conectar os elementos (vértices) de um
grafo são conhecidos como não direcionados. Os grafos também podem ser
ponderados, isto é, as relações entre os vértices podem carregar um peso ou
uma força associada. Para determinar o grau de um vértice em um grafo não
direcionado, é preciso verifi car o número de arestas que incidem sobre ele. Em
grafos direcionados, o grau de um vértice é calculado por meio da contagem de
arestas que entram (grau de entrada) e saem (grau de saída) de um vértice.
Através de uma
rede social podemos
observar os
relacionamentos
entre pessoas
compreendendo
inclusive o grau
de relacionamento
e interação entre
elas. O foco da
análise desse tipo
de rede está nas
relações construídas
entre os atores
que se constitui em
forma de amizade,
confi ança, interesse,
parentesco, entre
outros aspectos.
66
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
Você pode explorar um pouco mais a respeito da teoria dos
grafos por meio desse tutorial interativo: .
FIGURA 4 – UM EXEMPLO DE UMA ESTRUTURA DE ANÁLISE DE REDE
SOCIAL. OS VÉRTICES NORMALMENTE POSSUEM CARACTERÍSTICAS,
TAMANHOS E CORES. OS RELACIONAMENTOS SÃO REPRESENTADOS
PELOS LAÇOS QUE INDICAM OS VÉRTICES QUE ESTÃO INTERLIGADOS
FONTE: . Acesso em: 10 nov. 2018.
Liu et al. (2016) destaca que a estrutura das redes sociais pode ser dividida
em três substâncias básicas: o ator, o relacionamento e a rede, conforme descritos
a seguir:
• Ator: os atores sociais são os vértices da rede e podem representar
organização, indivíduos ou entidades. Algumas atividades podem
ser realizadas a partir dos atores, como identifi car quais os atores
centrais em uma rede que possui um elevado número de conexões ou
relacionamentos e qual a importância que estes exercem dentro da rede.
67
COMPREENDENDO E EXPLORANDO TÉCNICAS PARA ANÁLISE DE BIG DATA Capítulo 2
• Relacionamento: descreve a relação entre dois vértices. O
relacionamento entre os atores pode assumir características que
consideram direção e força. Os atores podem ter relacionamentos do
tipo direcionado ou não direcionado. Quando há o direcionamento, o
sentido é relevante, dizer que um carro que saiu de uma cidade A e foi
para uma cidade B, implica um relacionamento de A para B. No entanto, o
caso inverso não pode ser validado: não podemos afi rmar que, uma vez
que o carro fez a trajetória A para B, ele necessariamente terá que fazer o
caminho de volta (B para A), ou seja, existe uma relação entre os vértices
bem defi nida e direcional. Por outro lado, em um outro contexto, quando
você adiciona um amigo no Facebook, necessariamente é estabelecido
uma amizade ou relação bidirecional, isto é, não importa se você ou seu
amigo solicitou amizade na rede, uma vez que a ligação se estabeleça,
ela vai existir necessariamente em ambos os lados - você será amigo
da pessoa que você aceitou e vice-versa (o que se caracteriza como
uma relação não direcionada). No Twitter, o funcionamento é diferente,
se você segue uma pessoa isso não a obriga a lhe seguir também (a
direção importa, por isso é uma relação direcionada). Um outro ponto
a considerar é a força da relação entre os vértices, ou seja, a conexão
é forte ou fraca? Monitorar a força do relacionamento é algo importante
para tentar extrair o grau de conectividade entre os componentes da
rede. Além disso, é importante destacar que existe a possibilidade de
circunstâncias externas ou sociais modifi carem a força da relação. Por
exemplo, uma simples postagem polêmica pode comprometer toda a
estrutura de relacionamento entre os vértices de uma rede. Por essa
razão, eventualmente, a análise compreende monitoramento constante
da rede.
• Rede: é um conjunto de relacionamentos que descreve como os
vértices estão interconectados. Podemos classifi cá-las como: rede
egocentrada e rede coletiva. As redes egocentradas são construídas a
partir de um indivíduo (ego), que é o ponto de partida, enquanto que as
redes coletivas estudam os relacionamentos de todos os atores de um
determinado grupo.
3.2 ANÁLISE DE REDES SOCIAIS:
MÉTRICAS
Para analisar redes sociais, podemos utilizar um conjunto de métricas
de acordo com o objetivo. Assim, convém dividir ou classifi car essas métricas
68
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
em alguns tipos conhecidos como: métricas de conexão, de distribuição e de
segmentação. Nas próximas seções você conhecerá mais a respeito dessas
métricas.
3.2.1 MÉTriCAS DE CoNEXÕES
Dentre as métricas de conexões podemos destacar a homofi lia, a
reciprocidade, a propinquidade e a multiplexidade, conforme descritas a seguir:
• Homofi lia: seleciona e conecta um conjunto de atores semelhantes
com base em variáveis predefi nidas, como idade, sexo e escolaridade. A
ideia é selecionar um grupo de pessoas relacionadas que compartilham
características em comum, como visão política, crenças, gostospessoais etc. A Figura 5 exibe um exemplo dessa medida.
• Reciprocidade ou mutualidade: é uma medida que avalia o quão
recíproco é o relacionamento entre vértices (atores) em um grafo
direcionado, ao verifi car a existência de arestas em ambas as
direções.
• Propinquidade: calcula a tendência de um ator criar relações com
outros atores próximos geografi camente.
• Multiplexidade: diz respeito à maneira pela qual atores estão
interagindo entre si de múltiplas maneiras em diferentes contextos.
Um homem e uma mulher podem trabalhar juntos em uma novela e ao
mesmo tempo namorar um ao outro, assumindo o papel de atores e
namorados em seus relacionamentos (arestas).
69
COMPREENDENDO E EXPLORANDO TÉCNICAS PARA ANÁLISE DE BIG DATA Capítulo 2
FIGURA 5 – UM EXEMPLO DE HOMOFILIA. A TENDÊNCIA DE CONEXÃO
DOS PONTOS É EXIBIDA ATRAVÉS DAS CORES EM TONS DE
CINZA. NESTE CASO EXISTEM TRÊS DIFERENTES TONS DE CINZA:
À DIREITA, NA PARTE SUPERIOR E NA PARTE INFERIOR
FONTE: . Acesso em: 10 nov. 2018.
3.2.2 MÉTriCAS DE DiSTriBuiÇÃo
As métricas de distribuição são compostas pelas medidas de centralidade,
densidade, força de conexão, de distância etc. A Figura 6 mostra um exemplo
de medidas de centralidade, como o grau de centralidade: embora Alice tenha
maior grau de centralidade, ela não é a pessoa mais poderosa, pois precisará
passar necessariamente por Rafael se quiser chegar em outros vértices.
70
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
FIGURA 6 – DIAGRAMA DE REDE RETRATANDO O GRAU DE CENTRALIDADE
FONTE: . Acesso em: 10 nov. 2018.
• Centralidade: em geral quantifi cam a importância ou a infl uência de
atores ou grupo de atores em uma determinada rede. São subdivididas
em:
• Grau de centralidade: o grau de cada vértice diz respeito ao número de
relacionamento direto com o vértice em questão. O grau de entrada (+)
e de saída (-) pode ser medido em grafos direcionados. Um alto grau de
centralidade indica que o ator é ativo dentro da rede e, por meio deste, é
possível atingir diretamente um grande número de atores.
• Centralidade de betweenness: para cada vértice soma-se o total de
caminhos mais curtos (menores distâncias). Os vértices com maior grau
de betweenness possuem maior frequência de caminhos mais curtos
em relação a outros vértices e possuem alta infl uência na rede, pois
representam um (forte) elo de comunicação entre outros vértices da
rede.
• Centralidade de proximidade: qual o caminho mais rápido que um
determinado vértice pode alcançar outros vértices? A centralidade
baseada em proximidade é uma medida que visa extrair os caminhos
mais rápidos (ou mais curtos) ao sair de um vértice A até chegar a um
vértice X. Por exemplo, você pode ter em mãos um mapa e verifi car qual
o caminho (rota) mais curto para sair da cidade de Ouro Preto e chegar
na cidade de Ribeirão Preto, tendo em mente que você possa ter n rotas
e deseja minimizar custos com viagem. Assim, podemos afi rmar que
um vértice com alto grau de proximidade pode acessar outros vértices
através de caminhos mais curtos na rede, isso porque este vértice está
em uma posição estratégica (em termos de proximidade) dentro da rede.
71
COMPREENDENDO E EXPLORANDO TÉCNICAS PARA ANÁLISE DE BIG DATA Capítulo 2
Você consegue pensar em um exemplo prático relacionado à
centralidade baseada em proximidade? Dica: pense em algo do dia
a dia.
• Centralidade de Autovalor: permite medir a importância de um vértice
na rede através de scores que lhe são atribuídos por outros vértices da
rede. Vértices com elevada centralidade de autovalor estão conectados
com outros vértices que também possuem valores elevados de
centralidade de autovalor. Por meio de um grafo direcionado, é possível
contar o número de arestas recebidas por um vértice como votos,
formando a base para construir o score de importância do vértice em
questão. No Twitter, um usuário que é muitas vezes citado por outros
usuários populares na rede, tem alto grau de centralidade de autovalor.
• Densidade: é uma medida que calcula o número de relacionamentos
existentes entre os vértices em função do total de possibilidades de
relacionamentos entre eles. Redes densas são aquelas que possuem
uma medida de densidade próxima de 1, caso contrário, são classifi cadas
como redes esparsas.
• Força de conexão: considera fatores que podem fortalecer ou
comprometer o relacionamento entre atores, como questões sociais,
emocionais, reciprocidade etc. As arestas (que representam os
relacionamentos) são ponderadas para indicar a força da relação entre
os atores envolvidos.
• Distância: basicamente é uma medida que calcula o número de arestas
necessárias para alcançar um destino fi nal desejado.
3.2.3 MÉTriCAS DE SEGmENTAÇÃo
As métricas de segmentação compreendem algumas medidas como:
coefi ciente de clusterização, clique e coesão. A Figura 7 mostra um exemplo de
clique.
72
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
FIGURA 7 – EXISTE UM CLIQUE ENTRE OS VÉRTICES DESTACADOS,
ISTO É, TODOS OS VÉRTICES ESTÃO CONECTADOS A TODOS
OS OUTROS VÉRTICES FORMANDO UM TRIÂNGULO
FONTE: . Acesso em: 10 nov. 2018.
• Coefi ciente de agrupamento ou clusterização: é uma medida que
avalia a densidade dos vértices vizinhos de um vértice em relação a
ele mesmo. Um coefi ciente de clusterização elevado implica dizer que
um vértice contém vizinhos conectados entre si formando um clique.
• Clique: se um determinado ator estiver diretamente conectado a todos
os outros atores então temos a formação de um grupo em uma rede.
• Coesão: qual o número mínimo de vértices que, uma vez removidos do
grupo ao qual pertenciam, desconectariam o grupo? A coesão é uma
medida que revela o grau de ligação entre os vértices em um grupo.
É importante você estar ciente de que existem outras métricas que podem
ser consideradas quando analisamos redes sociais. Mais que isso, todas as
métricas mencionadas podem ser combinadas para fornecer uma compreensão
mais ampla do conjunto de dados que estamos manipulando. A seleção da
métrica mais apropriada para o seu domínio dependerá da defi nição-problema
e do objetivo da sua análise. É claro que, quanto mais rica forem suas análises,
maior será a possibilidade de se obter insights interessantes. No próximo tópico
apresentaremos algumas ferramentas que podem ser úteis para você praticar e
consolidar os conceitos que foram exibidos nesta seção.
73
COMPREENDENDO E EXPLORANDO TÉCNICAS PARA ANÁLISE DE BIG DATA Capítulo 2
3.3 ANÁLISE DE REDES SOCIAIS E
SUAS APLICAÇÕES
A análise de redes sociais objetiva auxiliar as organizações a compreenderem
e a responderem perguntas como: “Como podemos classifi car os indivíduos
mais infl uentes na organização?”, “Como estão segmentados nossos clientes?”,
“Como melhorar a estrutura organizacional para tentar maximizar a produção?”.
Com base nisso, por meio das redes, podemos observar o fl uxo de informação,
detectar falhas ou gargalos no processo organizacional, além de considerar
fatores externos para melhorar a compreensão da posição da empresa frente
aos seus clientes. As decisões não são tomadas isoladamente, mas considera a
posição e o relacionamento de um ator social em função do grupo que o compõe.
Essa realidade não é exclusividade de empresas. Pesquisadores têm
investido no campo de aprendizagem colaborativa para potencializar ações de
interação entre alunos com intermediação docente (SAGAR et al., 2018). A análise
dessa rede pode contribuir para a identifi cação de padrões de aprendizagem em
um dado intervalo de tempo. O interesse na exploração desse campo de estudo
tem conduzido a um grande número de ferramentas que podem ser utilizadas
para analisar dados obtidosde redes sociais. A seguir apresentaremos algumas
ferramentas que podem ser úteis para a análise de redes sociais:
• Sentinel Visualizer: é uma ferramenta desktop que permite fazer uma
análise automática de baixa complexidade em termos de uso e sem
necessidade de programação. É possível realizar cálculos rapidamente
com uma diversidade de métricas para analisar a rede.
• Gephi: é uma poderosa ferramenta open-source para visualizar e
analisar grafos de grande complexidade. Por meio da ferramenta é
possível explorar, agrupar, manipular e analisar grafos em tempo real.
• NodeXL: se você tem familiaridade em utilizar o Excel, é possível com o
modelo NodeXL explorar dados em rede diretamente do ambiente Excel,
bem como gerar relatórios, ter acesso a dados de mídias sociais e utilizar
métricas para análise textual e de sentimento.
• Pajek: é um software aberto de uso não comercial para análise de redes.
O software foi projetado para suportar redes de grande magnitude e
fornece poderosas ferramentas de visualização. Possui um conjunto
de algoritmos poderosos para lidar com grandes volumes voltados para
partições, operações binárias, caminhos ótimos etc.
• NetMiner: consiste em um software para exploração e visualização
de grandes conjuntos de dados voltados para as redes sociais. Essa
ferramenta possui como ponto forte a riqueza de recursos visuais
e a possibilidade de analisar dados da rede extraindo informações
74
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
estatísticas. Além disso, possui grande capacidade de importação de
dados (inclusive dados não estruturados).
• Graphviz: é uma ferramenta open-source projetada para visualização de
grafos. Possui diversos recursos para manipulação de diagramas, como
personalização de cores, fontes, formas e outros estilos.
• Visone: é uma ferramenta simples para criação gráfi ca de redes,
podendo coletar dados de uma rede, analisá-los e criar uma visualização.
Ao fi nal do processo, você pode exportar a rede para um arquivo externo,
como uma imagem, PDF, SVG, entre outros.
Muito do que foi explorado nesta seção, reforça o grande poder analítico que
analistas têm a seu favor. Na realidade, lidar com dados de natureza baseada
em grafos e extrair o máximo de conhecimento útil para organização, requer o
conhecimento de técnicas, métricas e ferramentas potencialmente necessárias
para resolver o problema. Contudo, em ambientes dessa natureza, o nível de
complexidade aumenta quando se manipula dados não estruturados. Na próxima
seção, você conhecerá um pouco mais dessa outra possibilidade para fazer
análises.
Você pode acessar alguns tutoriais/materiais que podem auxiliá-lo
na exploração de algumas ferramentas.
• Visone: .
• Graphviz: .
• Pajek: .
• NetMiner: .
• NodeXL: .
Que tal explorar uma destas ferramentas? Um conjunto de
datasets para análise de redes sociais está disponível em: . Basta você realizar o download, escolher a
ferramenta e colocar a mão na massa.
75
COMPREENDENDO E EXPLORANDO TÉCNICAS PARA ANÁLISE DE BIG DATA Capítulo 2
1 Em se tratando de análise de redes sociais, qual característica
principal difere esse tipo de análise em relação a análises
baseadas em clustering? Explique.
R.: ____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
2 Como as métricas de redes podem ser subdivididas? Cite e
explique ao menos uma métrica de cada categoria.
R.: ____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
3 O que é Multiplexidade? Cite um exemplo.
R.: ____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
76
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
4 TEXT MINING: CONCEITOS E
TÉCNICAS DE ANÁLISE DE DADOS
NÃO ESTRUTURADOS
No Capítulo 1 vimos os conceitos relacionados a dados não estruturados e
você talvez recorde que na atualidade cerca de 80% dos dados digitais gerados
não possuem quaisquer estruturas. São dados de vídeos, imagens, sensores,
áudios, documentos eletrônicos, blogs, entre outros exemplos. De fato, analisar
dados não estruturados em tempos de Big Data parece ser um desafi o. Por
essa razão, diversas pesquisas têm sido realizadas para construção de novos
métodos, técnicas ou algoritmos para analisar dados textuais de grande volume.
Basta observar como os tradutores, como o Google Translator, evoluíram com o
passar dos anos.
Nesta seção serão abordados conceitos e técnicas relacionados à análise
de dados não estruturados do tipo texto, que sem dúvida é um dos campos mais
importantes para análises avançadas em Big Data.
4.1 MINERAÇÃO DE TEXTOS:
CONCEITOS IMPORTANTES E VISÃO
GERAL
A Análise em Mineração de Texto (ou Text Mining) consiste em uma das
tarefas mais árduas quando analisamos dados desse formato. Isso porque grande
parte das informações não possui uma estrutura defi nida e, consequentemente,
a escrita do texto normalmente não segue um padrão específi co ou determinado.
Por outro lado, em uma análise de dados estruturada, os dados estão prontos
para análise, pois seguem um padrão específi co armazenado e organizado em
linhas e colunas.
Na verdade, em atividades de análise textual é preciso converter dados
não estruturados para um formato estruturado para que assim análises
sejam aplicadas. Consegue perceber que neste momento existe mais uma
camada de complexidade para as análises? Note que, até então, você extraía
os dados de uma ou mais fontes e, em seguida, aplicava um processo de
transformação e limpeza e entregava o conjunto de dados pronto para ser
analisado, seja para um algoritmo de mineração de dados ou como input para
um modelo de aprendizagem de máquina. Agora é necessário lidar com um
77
COMPREENDENDO E EXPLORANDO TÉCNICAS PARA ANÁLISE DE BIG DATA Capítulo 2
conjunto de informações - espalhados em um arquivo de texto, em um post em
uma rede social, ou até mesmo em um campo (coluna) textual específi co de um
Banco de Dados relacional como: “observações”, “considerações”, “descrição”
e que fora escrito em uma linguagem natural - redigida por um ser humano.
Como consequência disso, em um cadastro de informações, inevitavelmente, é
comum encontrar erros de ortografi a, ambiguidade, vícios de linguagem e assim
por diante. Por exemplo, como fazer que a máquina compreenda que a palavra
companhia signifi ca ‘uma empresa’ e não ‘vínculo entre pessoas’?
Diante dessa situação, o Processamento de Linguagem Natural (PLN)
surge como umaalternativa do campo linguístico, que permite estudar relações
entre palavras e sentenças em um texto. Na computação, permite que máquinas
compreendam a linguagem humana analisando o contexto no qual foi empregada.
Basicamente, isso é feito por intermédio de análises léxicas - (identifi car padrões
em uma string), sintáticas (observar a ligação entre os elementos textuais
que formam uma frase), semânticas (extrair o signifi cado dos termos, frases
observando as relações entre elas) etc. O mecanismo de busca e o tradutor do
Google, bem como os corretores de texto, são alguns dos inúmeros exemplos de
aplicações do PLN.
Essas tarefas subjacentes são frequentemente utilizadas em níveis
mais complexos de PLN, tais como:
Categorização de conteúdo: um resumo do documento baseado
em linguística, que inclui pesquisa e indexação, alertas de conteúdo e
detecção de duplicações.
Descoberta e modelagem de tópicos: captura com precisão o
signifi cado e os temas em coleções de texto, e aplica Advanced Analytics
como otimização e Forecasting.
Extração contextual: extrai automaticamente informações estruturadas
de fontes textuais.
Análise de sentimento: identifi ca o estado de espírito ou opiniões
subjetivas em grandes quantidades de texto, incluindo o sentimento
médio e a mineração de opinião.
Conversão fala-texto e texto-fala: transforma comandos de voz em
texto escrito e vice-versa; sumarização; gera sinopses de grandes
corpos de texto automaticamente; tradução de máquina; traduz texto
ou fala de um idioma para outro, automaticamente. Em todos esses
78
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
casos, o objetivo almejado é pegar as entradas brutas e usar linguística
e algoritmos para transformar ou enriquecer o texto de modo a obter
resultados melhores.
FONTE: . Acesso em: 10 nov. 2018.
Tendo em vista a vasta quantidade de informações textuais presentes nas
empresas e armazenadas em relatórios, atas, planilhas, arquivos de logs e
outros documentos de texto (como pdf e txt), além de fontes ricas externas (redes
sociais, páginas web, e-mails etc.), a análise de dados não estruturados pode ser
considerada mais útil para criar diferencial competitivo no mundo dos negócios.
Ademais, as técnicas baseadas em PLN têm sido aplicadas para minerar textos,
como extração de informação, classifi cação, clustering, entre outros (CHEN;
MAO; LIU, 2014).
Tipicamente, um processo para análise de texto pode ser representado
conforme a Figura 8. A primeira etapa consiste na obtenção dos textos direto da
fonte. Este, por sua vez, pode estar situado em alguma tabela do banco de dados,
em um arquivo de texto local, ou em algum ambiente externo (web). Essa coleta
pode ser manual ou automática e tudo dependerá das necessidades do seu
projeto. A dica é: se você precisa coletar constantemente dados de uma mesma
fonte, o ideal é automatizar o processo e criar código em alguma linguagem de
programação de sua preferência, ou utilizar uma ferramenta como o Apache
Kafka para capturar esses dados. Em seguida, aplica-se o pré-processamento
dos dados textuais, que inclui tarefas como:
• Stemming: o processo de Stemming consiste em reduzir uma palavra
ou termo ao seu radical. Vamos supor que em um determinado texto
você tem uma coleção de documentos (que são instâncias ou registros
de uma tabela não normalizada) dos seguintes termos: planejamento,
planejei, planejado, planejar. Após a aplicação do processo de Stemming,
todos os termos derivados de “planejar”, seriam reduzidos ao seu radical
“planej”, isto é, todos os termos citados no exemplo seriam unifi cados
no texto e não gerariam redundância.
79
COMPREENDENDO E EXPLORANDO TÉCNICAS PARA ANÁLISE DE BIG DATA Capítulo 2
O algoritmo de Porter é um dos algoritmos que implementam
o processo de Stemming para a língua portuguesa: .
• Tokenization (Bag-of-words): processo de quebrar em ‘tokens’, ou
seja, ocorre a quebra do texto em termos individuais. Considere a frase:
“Eu sou aluno da UNIASSELVI”. O processo observa os espaços em
branco dessa sentença e determina os tokens: [“Eu”, “sou”, “aluno”, “da”,
“UNIASSELVI”]. É possível defi nir regras de “tokenização” de acordo
com suas necessidades, sem necessariamente estarem atrelados a uma
única regra que, no caso desse exemplo, foi determinado pelo espaço
em branco.
Algumas linguagens de programação, como R e Python possuem
bibliotecas para este fi m. Existe também uma API open-source (Lucene)
que pode ser utilizada para tarefas de mineração de texto:
R: .
Python: .
Lucene: .
• Remoção de Stopwords: sabe aqueles termos que aparecem no texto
que têm a função meramente de conectar elementos de uma sentença?
São Stopwords! Artigos (o, a, os, as, um, umas etc.), preposições (de,
para, entre etc.), conjunções (nem, já, mas etc.), crase (à), pronomes
(ele, teu, meu etc.) são termos que não são relevantes para análise
e por isso são removidos. As Stopwords são armazenadas em uma
lista (dicionário) e estão disponíveis em vários idiomas, podendo ser
consumidas por linguagens ou ferramentas que desejam executar tarefas
de mineração de texto.
• Correção ortográfi ca: erros ortográfi cos são muito comuns em textos.
80
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
Por isso é importante corrigi-los para melhorar a qualidade dos nossos
dados. Existem algumas abordagens para tratar esses erros (como
correção automática). É claro que a alternativa mais segura é realizar a
correção manual, entretanto, o processo se torna mais custoso à medida
que o volume de dados aumenta.
Você pode experimentar alguns corretores on-line,
potencialmente úteis para suas análises de texto. O Flip9 pode ser
útil. Acesse: .
• Remoção de números, espaços e caracteres indesejados: números,
espaços e caracteres especiais ou símbolos muitas vezes não são
relevantes para análise de texto e são removidos: fi gura solta no texto,
relacionar texto à fi gura.
FIGURA 8 – DE UM MODO GERAL ESTE PIPELINE É COMPOSTO POR: EXTRAÇÃO
E PRÉ-PROCESSAMENTO DO TEXTO, APLICAÇÃO DE TÉCNICAS ANALÍTICAS
AVANÇADAS (PROCESSAMENTO) E VISUALIZAÇÃO DOS RESULTADOS
FONTE: . Acesso em: 2 fev. 2019.
Ainda na Figura 8, após a etapa de pré-processamento, assume-se que os
dados já possuam uma estrutura mínima para que análises sejam aplicadas -
que irão desde uma simples extração dos termos mais frequentes até análises
81
COMPREENDENDO E EXPLORANDO TÉCNICAS PARA ANÁLISE DE BIG DATA Capítulo 2
preditivas. Por fi m, o processo encerra com a visualização dos resultados
alcançados. Na próxima seção, você conhecerá algumas técnicas que certamente
o auxiliarão em suas análises textuais.
Acesse o endereço . Insira o texto: “análise de frequência é a forma mais simples
de análise, você extrai os termos dos documentos e aplica um
método para realizar a contagem dos termos. Os resultados
podem ser exibidos de forma tabular, gráfi co de barras, ou
em uma wordcloud (nuvem de palavras)” no campo destacado
(“Enter Text”). Em seguida clique no botão “Process text”. Observe
o resultado apresentado em forma tabular que não somente
apresenta o total de ocorrências de cada termo, como também a
porcentagem em relação ao total de ocorrências de todos os termos
no documento. Destaca-se que o pré-processamento implementado
nessa ferramenta não assegura a remoção de Stopwords, remoção
de números ou processo de Stemming. Contudo, em um cenário real,
essasArtifi cial
(IA), Aprendizagem de Máquina (ou Machine Learning), Inteligência de Negócios
(ou Business Intelligence), Ciência de Dados e Big Data. O que há de comum
entre eles? O fato de que a essência para a existência destes são os dados.
Por exemplo, a Aprendizagem de Máquina pode ser compreendida como um
subcampo da IA, que tem como objetivo automatizar processos por meio da
construção de modelos analíticos que recebem como parâmetro um conjunto de
dados como entrada (input). Para isso, é fundamental que esse conjunto de dados
obedeça a uma série de requisitos para que a aprendizagem de fato ocorra.
O que acontece quando você tem um conjunto de dados bem amplo e
precisa extrair de fontes de diferentes naturezas e tipos de dados heterogêneos?
Concorda que a complexidade cresce proporcionalmente?
Diante desses questionamentos, é fundamental que a priori você refl ita sobre
o cenário informacional que vivemos e também mergulhe nos conceitos úteis
relacionados ao Big Data, como compreender os elementos que compõem a sua
arquitetura. Todas essas questões serão abordadas neste capítulo. Bons estudos!
10
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
2 CENÁRIO ATUAL E VISÃO GERAL
DO BIG DATA
Você consegue imaginar o quanto de informação tem sido gerada na internet
em apenas um minuto? Um relatório apresentado pelo grupo Domo (s.d.) destaca
que a população que utiliza a internet aumentou nos últimos anos. Em 2012, o
número de usuários girava em torno dos 2,5 bilhões enquanto que, em 2017,
47% da população mundial estava conectada, o que representa 3,8 bilhões de
usuários. O mesmo relatório aponta que a cada minuto são assistidos 4.333.560
vídeos no Youtube, 473.400 tweets são publicados no Twitter, 176.220 chamadas
são realizadas pelo Skype, 49.380 fotos são postadas no Instagram, entre outros
casos.
Observe a diversidade de dados que estão sendo produzidos e consumidos
pelos usuários constantemente: vídeos, fotos, textos, vozes e assim por diante.
Essa realidade está diretamente relacionada ao contexto histórico da Web,
abrangendo suas transições conhecidas como Web 1.0, Web 2.0 e a mais
recente Web 3.0. A Figura 1 exibe as fases da Web ao longo do tempo. É possível
constatar que as tecnologias evoluíram para atender à demanda de cada etapa.
Por exemplo, na Web 1.0, o HTML constituiu-se como uma tecnologia-chave
para o desenvolvimento de websites, enquanto que na etapa posterior, a Web
2.0, tecnologias dinâmicas, como a linguagem PHP, emergiram para atender uma
demanda de produção de conteúdo e interação com o usuário.
FIGURA 1 – EVOLUÇÃO DA WEB E SUAS FERRAMENTAS/TECNOLOGIAS
AO LONGO DO TEMPO NESSAS ETAPAS DE TRANSIÇÃO DA WEB
FONTE: O autor
11
COMPREENDENDO A ANÁLISE DE INFORMAÇÃO
NO CONTEXTO DE BIG DATA
Capítulo 1
Enfatiza-se também que, na Web 1.0, os sistemas Web eram estáticos, o
que signifi ca que o objetivo era apenas informar, produzir conteúdo dependia
diretamente do administrador do sistema, que alimentava o website e o resultado
era exibido para o usuário. Por outro lado, na Web 2.0, o papel do usuário não se
restringia ao mero consumo de conteúdo, mas também na produção deste, seja
através de blogues, como também de aplicações Web dinâmicas.
A transição da Web 2.0 para Web 3.0 foi impulsionada pelo uso crescente
de smartphones e tablets. Além disso, o acesso à Web foi facilitado com o
barateamento destes dispositivos e, assim, os usuários se tornaram mais
ativos na rede. Outro fator importante foi o surgimento das redes sociais, que
contribuíram para uma rápida explosão de conteúdos produzidos pelo usuário,
bem como o surgimento de novas tecnologias e o barateamento de software e
hardware. O advento da computação em nuvem também é considerado precursor
nesta importante transição.
A Web 3.0, também conhecida como Web Semântica, está relacionada a
uma nova forma de Web, que tem a ver com a compreensão do signifi cado do
seu uso e apresenta como característica o fato de que o entendimento sobre o
comportamento do usuário perante a rede permite, por exemplo, que campanhas
digitais publicitárias possam atingir um público-alvo desejado de maneira mais
assertiva. Atividades do usuário, como cliques no mouse, podem ser monitoradas
para diferentes propósitos. Uma outra maneira de reforçar a Web 3.0 é o aumento
da importância dos cookies. Quando você acessa pela primeira vez um website,
uma mensagem é exibida solicitando sua autorização para utilização de cookies.
Quando concedemos permissão estamos, na verdade, autorizando o site a enviar
cookies que armazenam informações do nosso comportamento de navegação.
Assim, websites de cunho jornalístico podem reordenar as notícias publicadas
conforme nossas preferências. No caso de lojas virtuais, você já notou que um
carrinho de compras continua cheio depois de você ter encerrado a sessão
e voltar naquele website? Naturalmente, para muitos, é vantajoso e prático ter
informações de login e senha armazenadas em um website.
Até que ponto podemos confi ar que nossas informações
confi denciais não estão sendo armazenadas ou quão seguro é este
armazenamento? Qual o limite da nossa privacidade neste atual
contexto?
12
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
Acesse . Este site armazena um
conjunto de arquivos históricos de modifi cações salvas de mais de
300 bilhões de websites. Escolha um website de sua preferência
e experimente checar suas modifi cações ao longo do tempo. Você
consegue perceber algumas das diferenças que mencionamos aqui
e sentir essa transição de contextos web?
Além do mais, as transições da Web 1.0, 2.0 e 3.0 refl etem uma
realidade na qual vivemos - existindo uma sobrecarga de informação,
isto é, em uma excessiva quantidade de informação, o gerenciamento
depende da ação humana, mas de forma inviável. Como gerenciar
essas informações? De que maneira podemos extrair aquilo que é útil
para nós? Por exemplo, quando desejamos pesquisar algo na internet,
a primeira coisa que fazemos é realizar uma busca através de um site
de busca, como o Google. Por que fazemos isso? Porque ao digitar
palavras-chave no buscador, este nos retornará apenas um conjunto de
informações que é do nosso interesse.
Da mesma forma ocorre quando empresas buscam alternativas
para encontrar informações úteis e alavancarem seus negócios. Neste caso,
a ideia geral é fi ltrar informações que sejam relevantes, seja no âmbito interno
(entender e/ou otimizar seus processos), como também externos (por exemplo,
informações sobre a concorrência), com a fi nalidade de se tornarem cada vez
mais competitivas.
A revolução dos dados tem tornado o mundo “mais inteligente”, antes, apenas
conectado. A inteligência já faz parte dos dispositivos, como o celular, que há
alguns anos, possuía recursos limitados a SMS e voz (ligação) e, posteriormente,
conexão com a internet. Atualmente, existem aplicativos inteligentes que
monitoram o nosso dia a dia e, progressivamente, conhecem mais nossos
hábitos. O GPS ativo permite que aplicativos conheçam nossa rotina diária, tais
como perceber se praticamos exercícios físicos, se dormimos bem ou não nas
últimas noites, com qual contato da nossa agenda nos comunicamos mais e
assim por diante. Note que tudo isso já faz parte da nossa vida diária e estamos
mergulhados nesse mar de tecnologias, ou seja, a onipresença desses meios é
algo que retrata o atual momento em que vivemos.
Não é difícil imaginar que grande parte dessa onda de dados afetará, além de
Uuma realidade
na qual vivemos
- existindo uma
sobrecarga de
informação, isto é,
em uma excessiva
quantidade de
informação, o
gerenciamento
depende da ação
humana, mas de
forma inviável
13
COMPREENDENDO A ANÁLISE DE INFORMAÇÃO
NO CONTEXTO DE BIG DATA
Capítulo 1
outros segmentos, o esporte, a saúde, a nossa casa e até o relacionamento com
as pessoas e a nossa família.tarefas de pré-processamento são necessárias.
Você também pode experimentar a visualização de texto em
uma wordcloud por meio do endereço: .
4.2 TÉCNICAS PARA ANÁLISE DE
MINERAÇÃO DE TEXTOS
Uma vez que os dados estejam prontos para análise, você pode aplicar uma
ou mais técnicas para tentar extrair informações úteis para o negócio. A seguir,
algumas técnicas comuns para a análise de texto.
4.2.1 RECuPErAÇÃo DE INFormAÇÃo (IR)
A recuperação de informação pode ser defi nida como a busca por material
(normalmente documentos) de natureza não estruturada (geralmente texto)
que satisfaça uma necessidade de informação a partir de grandes coleções
(geralmente armazenadas em computadores) (MANNING; RAGHAVAN;
SCHÜTZE, 2009).
82
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
A partir dessa defi nição, percebemos que a IR cria mecanismos para extrair
informações relevantes de uma grande massa de documentos textuais. O exemplo
mais comum são os mecanismos de pesquisa, como Google ou Bing que, frente
a um universo de documentos, conseguem selecionar apenas um subconjunto
relevante de documentos a partir de palavras-chave (keywords) digitadas no
buscador. Faça um teste: abra o Google Acadêmico e digite: recuperação de informação e observe o conjunto de documentos
Web contendo essas palavras-chave. Experimente agora digitar “recuperação de
informação” (com aspas). Notou alguma diferença no retorno dos documentos?
Parece que as aspas indicam que você deseja que a busca retorne apenas os
documentos que apresentam a sentença digitada como um todo e não Keywords
separadas (recuperação/informação).
Este site sugere algumas outras dicas para melhorar as
pesquisas no Google.
Como avaliamos a performance de sistemas que implementam IR? Existem
algumas medidas que poderemos utilizar, a saber: Recall, Precision, F-Measure,
R-Precision, Fall-out e assim por diante. As duas mais populares são:
• Recall (Revocação): é uma medida que qualifi ca a fração de documentos
recuperados que foram relevantes para a consulta.
Recall = número de documentos relevantes que foram recuperados /
número total de documentos relevantes na coleção (x 100).
Um Recall com valor 1 ou 100% aponta o melhor caso e, de fato, é o
que normalmente acontece em uma consulta, todos os documentos
recuperados na coleção são relevantes. Por isso, combinamos Recall
com outras medidas para avaliar a performance do IR.
Exemplo: considere um conjunto esperado com 10 documentos D = {1,2,
3, ...,10} e que foram recuperados um total de 6 documentos (vamos
supor os documentos {3,4,9,10,12,15}). No entanto, foram recuperados
apenas 4 documentos com sucesso {3,4,9,10}. Por isso:
Recall: 4 / 10 = 40%.
• Precision (Precisão): refere-se à fração de documentos recuperados
que são relevantes para o usuário.
83
COMPREENDENDO E EXPLORANDO TÉCNICAS PARA ANÁLISE DE BIG DATA Capítulo 2
Precision = número de documentos relevantes que foram recuperados /
número total de documentos que foram recuperados (x 100).
Dessa maneira, obtemos uma taxa de documentos não relevantes que
foram retornados em uma consulta.
Se utilizarmos o mesmo exemplo citado anteriormente, podemos calcular
a precisão:
Precision: 4 / 6 = 66,67% (aprox.).
A recuperação de informação é um amplo campo de
estudo, sendo composto por diversas técnicas ou modelos. Para
complementar seu conhecimento, recomendamos que você
se aprofunde e leia o artigo proposto por Nyamisa, Mwangi e
Che (2017), disponível no seguinte endereço: .
Se desejar, você também poderá acessar este blog: .
4.2.2 EXTrAÇÃo DE INFormAÇÃo (IE)
Diferentemente do processo de Recuperação de Informação, o processo
de Extração de Informação (IE) está preocupado em extrair a semântica de
documentos textuais. Isso signifi ca que a IE é capaz de coletar informações-
chave de forma resumida de um documento. A ideia é pressupor a existência de
um conjunto de documentos presentes em um domínio, que descreve uma ou
mais entidades ou eventos e que compartilham semelhanças em relação a outros
documentos, mas que diferem em seus respectivos detalhes (FREITAG, 2000).
O que torna o processo de IE custoso é o fato de que grande parte dos
documentos contém dados não estruturados (textuais). Como vimos, problemas
inerentes à linguagem natural precisam ser tratados por softwares que
implementem tarefas dessa natureza. Imagine que você crie um software baseado
em IE que colete informações de um Call Center. Então, você pode monitorar
um conjunto de informações livres em texto e organizá-las em uma estrutura. Por
exemplo, pode ser que você queira extrair para cada cliente apenas palavras de
baixo calão, armazená-las em uma estrutura e associá-las a um campo chamado
“tipo de serviço”. Isso possibilitaria conhecer quais tipos de serviços estão
deixando os clientes insatisfeitos.
84
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
A Figura 9 exibe outro exemplo que pode ser útil para você compreender
melhor como funciona a Extração de Informação de maneira geral. Note que os
textos em destaque em Text In foram estruturados em Data Out. Se pegarmos a
palavra Brazil do primeiro documento, é possível que o IE “compreenda” o texto
de modo a ranquear o país na 5ª posição entre os países mais populosos. O
software precisa ser capaz de lidar com variações na ordem do texto. Afi nal,
escrever que “o Brasil é o 5º país mais populoso do mundo” pode ser escrito de
diversas formas.
FIGURA 9 – TEXT IN CONTÉM UM CONJUNTO DE DOCUMENTOS TEXTUAIS
E O DATA OUT A SAÍDA CORRESPONDENTE AO PROCESSO DE IE
FONTE: . Acesso em: 11 nov. 2018.
Técnicas para extração de informações baseadas em PLN
podem ser aprofundadas através deste endereço: .
85
COMPREENDENDO E EXPLORANDO TÉCNICAS PARA ANÁLISE DE BIG DATA Capítulo 2
Você pode também experimentar a ferramenta de extração IKE
(Interactive Knowledge Extraction). Neste endereço existe uma breve
defi nição da ferramenta, o artigo completo e o repositório com os
códigos com o passo a passo para você experimentá-la.
Adicionalmente, você também pode testar esse analisador de
redes sociais e texto: .
4.2.3 ANáLiSE DE TEXTo BASEADA Em
CLuSTEr
Esta técnica classifi ca um conjunto de termos (ou documentos) em grupos.
Assume-se que os termos que pertencem ou são classifi cados em um mesmo
grupo possuem maior relação entre si. Essa classifi cação pode ser importante
para que você visualize os relacionamentos entre eles. Além disso, é possível que
os resultados obtidos por esses clusters possam ser utilizados como input para
uma tarefa de mineração de dados, também para realizar análise de sentimento
(por exemplo, checar como está a reputação - positiva ou negativa -, de uma
empresa no mercado), ou outras análises avançadas.
Talvez você já tenha observado que quando acessa um site de notícias existe
um grupo de notícias que está relacionado ao que você pesquisou em destaque
em algum local da página. Por exemplo, em uma busca você digitou uma notícia
sobre “cura de diabetes”. Os conteúdos em destaque (que serão retornados)
serão relacionados à categoria saúde, pois existe um nível maior de proximidade
com a notícia pesquisada.
Quando falamos de clusterização baseada em texto, alguns conceitos e
medidas são importantes e merecem ser destacados:
• Coleção de documentos: representada por uma matriz termo-
documento (TDM) oudocumento-termo (DTM), conforme mostra a
Tabela 1. Se considerarmos a frequência dos termos (medida) como um
peso para medir a importância de um termo no documento, poderíamos
afi rmar que “Amor” e “Casa” são termos que têm um peso maior no
Documento 2, pois são comumente utilizados.
86
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
TABELA 1 – EXEMPLO DE UMA MATRIZ TERMO-DOCUMENTO. O ZERO
INDICA AUSÊNCIA DO TERMO EM UM DETERMINADO DOCUMENTO
FONTE: O autor
Documento 1 Documento 2 Documento 3 Documento 4
Amor 20 110 0 1
Alegria 10 3 40 2
Bondade 0 0 15 30
Casa 32 159 0 0
Rua 2 4 4 0
• Frequência do termo: como foi mostrado anteriormente, você pode
medir a importância do termo no documento verifi cando a quantidade
de vezes que ele ocorre (contagem bruta). Essa representação de
frequência do termo pode ser feita não somente pela contagem bruta
que, em determinados casos possui sérias limitações, como também de
forma binária - intervalo [0,1] que indicaria meramente a presença ou a
ausência do termo no documento, também existe a medida normalizada
- que considera o total de termos presentes no documento, log de
frequência - estabelece um score usando logaritmos etc.
• Frequência do termo na coleção: termos frequentes não
necessariamente são os mais relevantes. Ao contrário, em grande parte
dos casos, os termos menos frequentes possuem uma relevância maior
em toda coleção. A frequência do termo na coleção permite defi nir o peso
do termo. dft (Document Frequency) obtém o número de documentos
que contém um determinado termo t. idft (Inverse Document-Frequency)
é calculada pelo logaritmo entre a fração do total de documentos pelo
total de documentos que possui o termo. Existem outras variações para
cálculo do peso que aprofundam matematicamente.
idft = log (N/dft)
É possível também utilizar algoritmos voltados para a análise de cluster em
textos, como o próprio K-Means, que abordamos em seções anteriores. Assim,
pode-se determinar similaridades entre clusters utilizando, por exemplo, o método
cosseno, e também verifi car documentos que compartilham informações em
comum e assim por diante.
87
COMPREENDENDO E EXPLORANDO TÉCNICAS PARA ANÁLISE DE BIG DATA Capítulo 2
1 Por que manipular dados não estruturados (textuais) constitui-se
em uma tarefa mais árdua se compararmos à análise de dados
estruturados?
R.: ____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
2 Qual a diferença entre as técnicas de Recuperação de Informação
e Extração de Informação?
R.: ____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
Na próxima seção você conhecerá um pouco sobre o Digital Analytics e
sua devida importância para o mundo dos negócios. Antes disso, não deixe de
explorar um demo do IBM Watson para processamento de linguagem natural. Se
preferir, você também pode testar essa poderosa ferramenta (Elasticsearch) para
pesquisa e análise de dados.
5 DIGITAL ANALYTICS: CONTEXTO,
IMPORTÂNCIA E APLICAÇÕES NO
MUNDO DOS NEGÓCIOS
Finalizaremos este capítulo explorando o Digital Analytics. Você
compreenderá como a análise dos dados do mundo digital impacta diretamente
no mundo dos negócios, assim como de que maneira é possível extrair e analisar
88
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
esses dados em ambientes Big Data. Antes disso, precisamos que você conheça
e assimile conceitos e a importância do Digital Analytics, conforme será abordado
a seguir.
5.1 DIGITAL ANALYTICS:
CONCEITO E IMPORTÂNCIA NAS
DECISÕES DE NEGÓCIO
O termo “Web Analytics” (Análise Web) era o nome utilizado antes
de se empregar o “Digital Analytics” (Análise Digital), isso signifi ca que
houve uma transição ou ampliação do termo “Web” para o “Digital”.
Como assim? Quando se falava em Web Analytics, o conceito era
restrito à análise de páginas web, isto é, extraíam-se métricas do
número de visitas ou número de visualizações das páginas de um
website, devido à diversifi cação do número de canais “plugáveis” à
web, como dispositivos móveis, televisores digitais, redes sociais,
e-mails, entre outros. A possibilidade de fazer análises aumentou para
o mundo digital e passou a englobar todos os canais que envolvem a
era digital. A incorporação progressiva da Internet das Coisas (IoT) -
que será abordada no próximo capítulo - corroborou para que o termo
Digital Analytics fosse consolidado.
O Digital Analytics pode ser defi nido como:
Um conjunto de atividades técnicas e de negócios que defi nem,
criam, coletam, verifi cam ou transformam dados digitais em
relatórios, pesquisas, análises, recomendações, otimização,
predições, que criam valor para os negócios auxiliando
empresas a criar valor, aumentando a receita ou reduzindo
custos. Os dados digitais podem ser dados comportamentais
sobre como as pessoas usam e interagem com experiências
digitais, dados ou metadados relacionados a eventos, cliques
e interações, é utilizada para responder perguntas de negócio
e fornecer base para decisões baseadas em fatos (PHILLIPS,
2014, p. 3-4, grifos nossos).
Observe os termos comportamento e experiências digitais
citados por Phillips (2014). De fato, o Digital Analytics incorpora ou avalia o
comportamento dos usuários na rede. Dados do Internet World Stats apontam
um total de aproximadamente 4,2 bilhões de usuários conectados à web em
junho de 2018. No Brasil, foram quase 150 milhões de pessoas conectadas. Em
épocas passadas, o Marketing Tradicional intensifi cava seus esforços em meios
Um conjunto de
atividades técnicas
e de negócios que
defi nem, criam,
coletam, verifi cam
ou transformam
dados digitais
em relatórios,
pesquisas, análises,
recomendações,
otimização,
predições, que
criam valor para os
negócios auxiliando
empresas a criar
valor, aumentando
a receita ou
reduzindo custos.
Os dados digitais
podem ser dados
comportamentais
sobre como as
pessoas usam e
interagem com
experiências
digitais, dados
ou metadados
relacionados a
eventos, cliques
e interações, é
utilizada para
responder perguntas
de negócio e
fornecer base para
decisões baseadas
em fatos (PHILLIPS,
2014, p. 3-4, grifos
nossos).
89
COMPREENDENDO E EXPLORANDO TÉCNICAS PARA ANÁLISE DE BIG DATA Capítulo 2
de comunicação off-line, como jornais, revistas ou TV. Compreender ou conhecer
o comportamento dos usuários para compra de um determinado produto era um
desafi o. Não obstante, hoje profi ssionais digitais (como o próprio profi ssional de
Marketing Digital) ganham espaço para lidar com essa nova dinâmica de mercado:
o mercado digital.
Conheça mais sobre a Internet World Stats, acessando o site
.
Como uma empresa pode vender melhor sua marca e/ou produto pela
internet? Até que ponto conhecer o comportamento do cliente nos meios
digitais é importante para impulsionar seus negócios? A Walmart, apontada pela
Fortune (2018) como a empresa que mais faturou em 2018, emprega técnicas de
mineração de dados para descoberta de padrões de vendas.
Por isso é recomendado que se cheque quais produtos normalmente são
comprados em conjunto ou que a compra de um produto X é seguido pela
compra de um produto Y. A partir desses dados, a Walmart conseguiu identifi carque seus clientes compravam sete vezes mais tortas de morango antes de um
furacão. Todos os seus clientes são rastreados e segmentados de maneira única
por intermédio de inúmeros atributos - produtos de compra do cliente, hábitos de
compra pela loja (física ou pelo website), o que postam nas redes sociais, como
Twitter e assim por diante. Cada evento é capturado, analisado e processado
por uma infraestrutura de Big Data que fornece insights personalizados para a
companhia (DEZYRE, 2017).
Se você fi cou curioso em aprender mais como a Walmart tem
usufruído do Big Data Analytics para entender o comportamento
dos seus clientes, sugerimos este link: .
90
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
Assim como o Walmart, em menor ou maior escala, as empresas, quando
analisam dados digitais, objetivam avaliar o comportamento dos usuários na rede
e assim oferecem produtos personalizados. Os famosos cliques no mouse em
um produto específi co no Mercado Livre (ou outra loja virtual), poderá causar
uma grande “perseguição” de propagandas deste ou de produtos relacionados
em outros websites ou redes sociais. A captura deste evento (clique do mouse),
tempo de duração na página do produto, comentário para sanar alguma dúvida
de algum produto, fornece um conjunto de métricas para que as empresas
ofereçam aos usuários a recomendação do produto certo no tempo adequado por
intermédio de indicadores que fornecerão suporte adequado para a tomada de
decisão do algoritmo ou do gestor da empresa.
O que é uma métrica? Podem ser consideradas como medidas
brutas de simples composição, são úteis para a composição de
indicadores, pois fornecem base para medir algo concreto. Por
exemplo, foram vendidos 300 livros (métrica quantidade) este mês.
Um indicador ou KPI (Key Performance Indicator) é o que direciona
a performance organizacional por intermédio da composição de uma
ou mais métricas e fornece parâmetro para a tomada de decisão.
Imagine que você quer saber qual a porcentagem de livros que
foram vendidos mês a mês. Ambos, podem ser apresentados em
um Dashboard (painel de visualização) e fornecidos à gestão em
intervalos variáveis, de acordo com as necessidades organizacionais.
Para ver mais, acesse: .
5.1.1 ANáLiSE DE MÉTriCAS E
INDiCADorES PArA MELHoriA DAS
DECiSÕES DE NEGÓCio
As lojas virtuais normalmente possuem alguma ferramenta de Analytics
(como o Google Analytics) incorporada a sua página web. Entretanto, quantas
realmente fazem uso das informações colhidas por essas ferramentas? As
principais redes sociais possuem ferramentas específi cas para Analytics:
Facebook (https://analytics.facebook.com/), Twitter (https://analytics.twitter.com/),
91
COMPREENDENDO E EXPLORANDO TÉCNICAS PARA ANÁLISE DE BIG DATA Capítulo 2
Pinterest (https://analytics.pinterest.com/) etc. No entanto, para que as empresas
realmente possam tirar total proveito do Analytics, é necessário que compreendam
as métricas existentes.
Considere as características (features) do Facebook Analytics para as
páginas conforme mostra a Figura 10. Os dados apresentados são apenas para
efeitos de demonstração e a tela apresentada é uma página inicial contendo um
overview de todos os dados referentes a acessos de novos usuários, taxa de
crescimento, duração mediana de sessão (tempo que o usuário visita sua página),
informações demográfi cas, taxa de rejeição (porcentagem de sessões em um dia
com apenas uma única visualização de página) e total de usuários ativos por hora,
estes dois últimos são classifi cados como métricas de envolvimento, indicando o
quão interessados os usuários estão com a sua página. Todas essas informações
podem ser observadas em diferentes níveis de granularidade (detalhamento)
por mês, ano, dia, hora etc. Observe ainda que o menu disposto à esquerda
fornece uma gama de informações coletadas que são potencialmente úteis
para as empresas que comercializam pelo Facebook. Os “Funis”, por exemplo,
para determinar ou mensurar a taxa de conversão dos clientes na página,
rastreando as atividades do usuário como: usuário instala o aplicativo > adiciona
um produto ao carrinho > clica em compras. Outro usuário poderia: inicializar o
aplicativo > pesquisa por “computador” > posta algum comentário na página, e
assim por diante. Note que, por meio de algumas atividades, é possível que você
perceba que grande parte dos usuários que interagem com o produto em seguida
compram.
Ficou curioso para saber mais sobre a taxa de conversão?
Acesse: .
92
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
FIGURA 10 – PÁGINA INICIAL DOS RECURSOS
ANALÍTICOS DE PÁGINAS DO FACEBOOK
FONTE: . Acesso em: 12 nov. 2018.
Outras métricas são importantes para monitorar um site ou uma loja virtual.
Algumas destas são comuns a outras ferramentas de Analytics implementadas,
como:
• Número de visitantes: corresponde ao total de usuários que visitaram o
website. Se você, João e eu, acessamos uma única vez o site da Amazon
para checar a disponibilidade de algum produto, têm-se um total de 3
visitantes (ou visitas únicas). No entanto, se você voltar no mesmo
site para ver algum outro produto, o número de visitantes permanece 3,
porém, a visita ao site é contabilizada mais uma vez. Ao fi nal, teremos 3
visitantes e 4 visitas.
• Origens de tráfego: é importante muitas vezes que você saiba de
onde os usuários estão acessando a sua página. É por meio do acesso
direto ao link do seu site? (Tráfego Direto); ou seria através de links
de terceiros? (Tráfego de referência); talvez o usuário tenha acessado
utilizando algum buscador, como Google ou Bing (Tráfego Orgânico); ou
mesmo por meio de mecanismos de anúncios que priorizam a exibição
de página, como o Google AdWords (Tráfego por Campanhas).
• Páginas por visita: é uma métrica importante para inferir se o usuário
está interessado ou não naquilo que ele está visualizando. Uma média
alta de acesso em uma mesma página indica que ele está interessado.
• Dispositivos: é interessante muitas vezes conhecer qual o percentual
de acessos por diferentes dispositivos (smartphones, tablets ou desktop).
93
COMPREENDENDO E EXPLORANDO TÉCNICAS PARA ANÁLISE DE BIG DATA Capítulo 2
Ao constatar uma massiva presença de dispositivos móveis, talvez seja
interessante pensar em reimplementar as páginas do site, tornando-as
mais ágeis para os usuários (observando sempre outras métricas, tais
como tempo de carregamento de uma página), ou tomar uma ação e
direcionar esforços para construção de aplicativos (apps).
Caso você tenha interesse em se aprofundar no Google Analytics,
o Google disponibiliza treinamentos gratuitos no site: .
Você também pode experimentar a ferramenta SimilarWeb para
comparar métricas analíticas entre websites e aplicativos. A versão
gratuita oferece alguns recursos para você testar a ferramenta .
Evidentemente que existem outras métricas digitais incorporadas em
ferramentas voltadas para as análises digitais. As próprias features do Google
Analytics são constituídas de numerosas métricas e indicadores para auxiliar as
empresas a obterem ganho competitivo no mundo digital. Em situações nas quais
o volume de dados cresce exponencialmente, é mais seguro optar por soluções
Big Data que assegurem uma boa escalabilidade e disponibilidade para que o
processo de análise transcorra adequadamente. Nesse sentido, o Apache Kafka
é uma plataforma para o processamento distribuído, que pode ser uma alternativa
viável para capturar métricas digitais do Google Analytics, estabelecendo uma
ponte entrea captura e a análise de imensos volumes de dados.
Este tutorial apresenta um passo a passo de como construir um pipeline
para extrair os dados do Google Analytics e em seguida enviar para
o Kafka. Esses dados podem ser entregues ao Spark para posterior
análise. No capítulo 3 você aprenderá mais sobre o Apache Spark.
94
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
Adicionalmente, você pode trabalhar com Digital Analytics em cima de
ferramentas da IBM, como o IBM Analytics, que agrupa diversos mecanismos
para otimizar a presença de uma empresa na Web, fazendo comparativos de
desempenho em relação à concorrência em diversos canais digitais, agrupando
em uma única visualização. A fi delização do cliente é algo importante para as
empresas, pensando nisso, a ferramenta organiza e segmenta os visitantes
em cada canal, fornecendo métricas em função de probabilidade de conversão
do visitante para um cliente. A ferramenta também apresenta algumas features
interessantes como: análises avançadas (mobile, redes sociais e web), indicadores
(KPIs), dashboards (painéis), visualização intuitiva, entre outros pontos. Além das
empresas mencionadas, Teradata, AWS e Avanade também são opções para
realizar análises de dados digitais.
O importante é que você compreenda que antes de mergulhar na ferramenta,
você precisa compreender os conceitos e os contextos envolvidos. Conhecer
os pormenores de tudo que foi apresentado e sanar suas dúvidas é algo que
você deve ter em mente. Execute cada passo a passo. Todas as métricas que
foram apresentadas fazem parte apenas de um subconjunto de algo amplo e
complexo do mundo digital. Não desanime, ao contrário, a mola propulsora do seu
conhecimento está em você mesmo. Vamos relembrar algumas coisas abordadas
nesta seção?
1 Por que o Digital Analytics é algo relevante para nossas análises?
R.: ____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
2 No cenário digital, como você pode estabelecer uma diferença
entre o que é métrica e um indicador? Cite um exemplo.
R.: ____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
95
COMPREENDENDO E EXPLORANDO TÉCNICAS PARA ANÁLISE DE BIG DATA Capítulo 2
ALGUMAS CONSIDERAÇÕES
Ao longo desse capítulo, apesar de ter apresentado uma gama de técnicas,
ferramentas e métricas, você talvez tenha percebido que há muito para aprender
e explorar. De fato, tudo que aqui foi mostrado representa apenas uma parte de
um amplo campo de estudo. Possivelmente, você deve ter percebido que existe a
possibilidade de fazer a intersecção entre os conhecimentos de cada técnica. Por
exemplo, lembra quando falamos sobre clusterização pela primeira vez? Quantas
vezes a repetimos em seguida? A base do conhecimento de clusterização, técnicas
e algoritmos são úteis para diversas aplicações e podem ser perfeitamente úteis
no seu trabalho.
É difícil separar o Digital Analytics do Text Analytics ou das análises em
Cluster quando lembramos que todos se constituem e fazem parte do mesmo
contexto. Eventualmente, você pode querer fazer uma análise de dados em
uma rede social procurando identifi car quais são os principais atores (mais
infl uentes ou relevantes) em uma rede analisando a interatividade entre os
posts produzidos por estes. Em seguida, você agrupa os atores com base na
similaridade entre eles. Note a amplitude de conceitos envolvidos ao lidar com
esse tipo de análise - um cenário de Digital Analytics para investigar em uma rede
social os atores mais infl uentes com base em alguma métrica. Por fi m, analisar
o conteúdo textual presente nos posts, estruturá-los e agrupá-los de acordo com
alguma medida de similaridade.
Tendo em mente tudo que foi abordado nesse capítulo, esperamos que
você tenha assimilado o conteúdo e esteja preparado para alguns aspectos mais
avançados que serão abordados no Capítulo 3.
REFERÊNCIAS
CHEN, M.; MAO, S.; LIU, Y. Big Data: a survey. Mobile Networks and
Application, v. 19, p. 171-209, 2014.
CHEN, M.; LUDWIG, S. A.; LI, K. Clustering in Big Data. Big Data Management
and Processing, p. 333-346, 2017.
DEZYRE. How Big Data Analysis helped increase Walmarts Sales turnover?
2017. Disponível em: . Acesso em: 13 nov. 2018.
96
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
FORTUNE. Global 500. 2018. Disponível em: . Acesso em: 11 nov. 2018.
FREITAG, D. Machine Learning for Information Extraction in Informal Domains.
Machine Learning, v. 39, p. 169–202, 2000.
HURWITZ, J. et al. Big Data para leigos. Rio de Janeiro: Alta Books, 2016.
INTERNET WORLD STATS. World internet users and 2018 population stats.
2018. Disponível em: . Acesso
em: 11 nov. 2018.
KDNUGGETS. Top data science and machine learning methods used in
2017. 2017. Disponível em: . Acesso em: 10 nov. 2018.
KHAN, Z.; VORLEY, T. Big Data text analytics an enabler of knowledge
management. Journal of Knowledge Management, v. 21, n. 1, p. 18-34, 2016.
LIU, O. et al. Social network analysis using Big Data. Proceedings of the
International Multiconference of Engineers and Computer Scientists, v. 2,
2016.
MANNING, C. D.; RAGHAVAN, P.; SCHÜTZE, H. Introduction to information
retrieval. Cambridge: Cambridge University Press. 2009.
PHILLIPS, J. Digital analytics primer. London: Pearson Education, 2014.
SAGAR, M. et al. How social network analysis can be used to monitor online
collaborative learning and guide an informed intervention. PLoS ONE, mar. 2018.
Disponível em: . Acesso em: 2 fev. 2019.
WE ARE SOCIAL. Digital in 2018: world’s internet users pass the 4 billion mark.
2018. Disponível em: . Acesso em: 10 nov. 2018.
CAPÍTULO 3
FUNDAMENTOS PARA INTEGRAÇÃO
ANALÍTICA, TÓPICOS AVANÇADOS
E TENDÊNCIAS EM BIG DATA
ANALYTICS
A partir da perspectiva do saber-fazer, são apresentados os seguintes
objetivos de aprendizagem:
Apresentar conceitos e diferenças importantes para integração analítica em Big
Data.
Defi nir tópicos avançados para análise de dados em tempo real com Apache
Spark.
Apresentar conceitos e análises de Internet das Coisas (IoT) e suas aplicações.
Relatar as principais tendências no mundo de Big Data Analytics.
98
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
99
FUNDAMENTOS PARA INTEGRAÇÃO ANALÍTICA, TÓPICOS AVANÇADOS
E TENDÊNCIAS EM BIG DATA ANALYTICS
Capítulo 3
1 CONTEXTUALIZAÇÃO
Quando as informações eram centralizadas em sistemas legados da
empresa, o poder de análise e decisão era limitado ou restrito. Os dados eram
cadastrados no sistema e a análise era realizada através de uma simples consulta
no banco de dados, sem considerar fatores externos ou até mesmo outras fontes
de dados da empresa. Além disso, era custoso você recuperar informações
de dados textuais de forma automatizada. Então, trabalhar apenas com dados
estruturados de forma centralizada era a alternativa mais viável para que o gestor
pudessetomar suas decisões.
A convergência das tecnologias tem seu papel de contribuição nesse cenário,
uma vez que, nos dias atuais, as decisões são baseadas na análise de diversas
tecnologias, tanto em termos de hardware (drones, sensores, servidores etc.) como
também em software (linguagens e ferramentas de alto nível). A competitividade
dos negócios, o barateamento do hardware e de soluções baseadas em software
permitiram que as empresas ampliassem a forma de extrair e analisar dados.
Dados internos e externos passaram a ser incorporados para fornecer subsídios
aos gestores de negócio, que perceberam a vantagem competitiva adquirida com
o fornecimento desses dados. Diante disso, a integração de dados (internos e
externos) passou a ser uma tarefa fundamental nos projetos de análise atuais,
especialmente em Big Data.
Por intermédio da integração, os gestores podem passar a ter informações
agregadas de todos os segmentos da empresa. Assim, é possível utilizar
informações de fl uxos de caixa, balancete patrimonial, total de vendas e
estratégias de marketing para tomar decisões mais consistentes e embasadas.
Eventualmente, são incrementadas informações externas - como situação do
mercado fi nanceiro em um dado momento ou avaliação de posts em uma página
que a empresa possui no Facebook para aperfeiçoar ou ampliar o escopo das
análises de Big Data.
Neste capítulo mostraremos alguns conceitos relacionados à integração para
análise de Big Data. Em seguida, exploraremos o Apache Spark de uma forma
mais profunda. A utilização dessa ferramenta dará a possibilidade de se trabalhar
com microlotes de dados - potencialmente útil para trabalhar com análise em
tempo real. Apresentaremos também conceitos e aplicações de Internet das
Coisas e principais tendências em Big Data Analytics.
Aproveite e bons estudos!
100
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
2 INTEGRAÇÃO DE TÉCNICAS
ANALÍTICAS
Pense em uma arquitetura típica de BI (Business Intelligence).
Tradicionalmente, você extrai um conjunto de dados e os armazena em uma
“zona de repouso” (Staging Area) - que, como foi mencionado no Capítulo 1,
representa um Banco de Dados intermediário que armazena temporariamente os
dados obtidos da(s) fonte(s) e; um Data Warehouse (DW) - que é um repositório
que armazena informações centrais, úteis e prontas para rápido consumo. O
ETL (Extract-Transform-Load) é um processo que faz o meio de campo entre
o processo de coleta, a Staging Area e o DW. Como o próprio nome sugere,
o processo de ETL é um conjunto de práticas que visa extrair um conjunto de
dados de uma ou mais fontes e aplicar tarefas de limpeza e transformação nos
dados, adequando-os em um formato de acordo com as regras de negócio. Por
fi m, defi ne-se uma rotina de carga (normalmente diária) para alimentar o DW.
A partir disso, vamos supor que você esteja trabalhando em um projeto de
uma empresa do ramo fi nanceiro. Você coleta um conjunto de dados a partir de
“n” fontes (externas e internas) e se depara com dados de diferentes formatos e
estruturas. Estes dados que serão armazenados no DW precisam ter um schema
defi nido. Tendo isso em mente, você realiza as limpezas necessárias - remoção
de espaços em branco, caracteres especiais, entre outras inconsistências, aplica
transformação de dados - modifi ca unidades (dólar para real), padronização de
casas decimais, ajuste nos tipos de dados, seleção/remoção das variáveis de
interesse etc. Ainda nesta fase, presume-se quais são as variáveis de interesse
que serão carregadas no DW. Por fi m, ao fi nal do processo, os dados são
armazenados no DW e representam uma informação otimizada e condensada
que serão apresentadas ao usuário fi nal. A Figura 1 sintetiza todo esse processo.
Os Data Marts podem ser entendidos como um subconjunto do DW (dados de um
setor da empresa, como marketing/fi nanceiro ou contábil da empresa). Os dados
podem ser obtidos de diferentes fontes e temporariamente armazenados em uma
Staging Area. Um processo de ETL é aplicado antes da carga no DW, assim os
dados fi cam prontos para o usuário fi nal.
101
FUNDAMENTOS PARA INTEGRAÇÃO ANALÍTICA, TÓPICOS AVANÇADOS
E TENDÊNCIAS EM BIG DATA ANALYTICS
Capítulo 3
FIGURA 1 – ARQUITETURA TÍPICA DE UM PROCESSO DE BI
FONTE: . Acesso em: 19 nov. 2018.
O processo descrito anteriormente é iterativo e, portanto, é reinicializado
de tempos em tempos. Como consequência, obtém-se um conjunto de dados
históricos que pode ser posteriormente analisado. Normalmente, emprega-se uma
rotina de carga em uma janela de 24h, para que o gestor possa tomar decisões
diárias. Ao fi nal da noite até aproximadamente o início da manhã, o gestor já tem
informações atualizadas (do dia anterior). Ao longo de 30 dias, pode-se obter
informações mais agregadas (semanais) devido ao conjunto de dados históricos
mantidos no DW.
No entanto, a forma tradicional de analisar dados nos negócios fi cou
comprometida com o aumento substancial do volume de dados disponível e a
incorporação de dados não estruturados nos projetos. Isso porque quanto mais
dados chegam à arquitetura, mais requisitos de hardware são necessários para
suportar a demanda. Não apenas isso, as decisões de negócio estão exigindo
respostas cada vez mais rápidas. Por sua vez, a arquitetura de BI tradicional não
consegue suportar a rápida ingestão de dados em um intervalo temporal mais
curto, produzindo um efeito cascata: altas taxas de latência que comprometem
as análises e, consequentemente, o apoio à tomada de decisão. Aumentar o
número de servidores ou melhorar a capacidade de hardware muitas vezes não
parece ser uma boa ideia, pois elevaria os custos de armazenamento e tornaria o
problema cíclico.
Uma solução viável seria investir em tecnologias voltadas para o Big Data.
Nesse caso, o Big Data poderia ser integrado à arquitetura para dar conta dessa
elevada demanda em termos de armazenamento e processamento de dados.
Você verá na próxima seção mais detalhes a respeito dessa integração.
102
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
2.1 ETL, ELT E DATA LAKE:
CONCEITOS E IMPLEMENTAÇÃO
Como vimos, o processo de ETL é constituído de etapas bem defi nidas:
extração, transformação e carga de dados. A etapa de extração, de fato, consiste
na primeira etapa do processo. Antes de realizar a carga dos dados na Staging
Area, defi ne-se previamente um schema (schema-on-write) para armazenar
esses dados estruturados, a fi m de que o SGBD (Sistema de Gerenciamento
de Banco de Dados) faça a leitura desses dados. É verdade que a defi nição
prévia de um schema pode ser benéfi ca, especialmente em algumas situações
nas quais o conjunto de dados e a complexidade do negócio são considerados
baixos. Por exemplo, casos em que o analista sabe exatamente o que o usuário
quer analisar. Contudo, na prática, em cenários mais complexos com dados de
grande volume e variedade é prudente pensar em uma alternativa mais fl exível,
que possa fornecer uma solução de análise mais rica para os usuários.
Que tal você propor uma abordagem na qual não seja necessário defi nir
previamente um schema de banco de dados (schema-on-read)? O ELT (Extract-
Load-Transform) difere da abordagem tradicional de ETL. No ELT, os dados
extraídos são armazenados na sua forma mais bruta e posteriormente serão
selecionados (transformados) de acordo com as necessidades do negócio. Isso
signifi ca que não são todos os dados que precisam ser transformados, apenas os
dados que realmente fazem sentido naquele momento. Essa abordagem ganhou
destaque com o advento do Big Data, visto que para armazenar essa gama de
dados com formatos e estruturas variáveis era necessário uma infraestrutura
capaz de armazenar, oferecer processamento e escalabilidade sufi ciente para
lidar com isso. Mais do que isso, o Big Data fornece a possibilidadede se trabalhar
com dados distribuídos em commodities hardware, ou seja, máquinas de baixo
custo. Caso haja necessidade, servidores hospedados em nuvem, tais como:
Amazon S3, Microsoft Azure, IBM Analytics também podem ser uma alternativa
para armazenamento e processamento de Big Data em ambientes de negócios.
O que você pode aprender disso? Note que algumas lacunas são
preenchidas quando integramos ferramentas ou soluções voltadas para atender
as demandas de Big Data aos processos tradicionais de análise de dados
nos negócios - especialmente no que se refere a demandas para recursos de
armazenamento e problemas de latência (processamento). Nesse sentido, uma
infraestrutura de Big Data é capaz de oferecer recursos computacionais por meio
de cluster de computadores (ou nós). Por exemplo, a família Apache Hadoop, que
vimos no Capítulo 1, apresenta um conjunto de ferramentas para auxiliar tanto no
armazenamento quanto no processamento e análise de dados não estruturados
e/ou gerados em tempo real.
103
FUNDAMENTOS PARA INTEGRAÇÃO ANALÍTICA, TÓPICOS AVANÇADOS
E TENDÊNCIAS EM BIG DATA ANALYTICS
Capítulo 3
• Um case interessante de aplicação do Data Lake pode ser
encontrado no site .
• Você pode consultar este artigo , que apresenta um hands on
(algo prático) ilustrando as diferenças entre o ETL e o ELT. Assim
como são exibidas algumas vantagens e desvantagens entre as
duas tecnologias.
Uma das tecnologias que emergiram a partir do Big Data e que pode ser
considerado uma abordagem do tipo ELT é o Data Lake - que oferece uma solução
para gerenciamento de grandes volumes de dados. Além disso, o Data Lake pode
ser perfeitamente integrado a processos e análises de BI, possibilitando uma maior
fl exibilidade e escalabilidade dos dados que foram coletados. A Figura 2 exibe
uma comparação gráfi ca entre o ETL tradicional e o Data Lake (ELT). Note que
no primeiro caso, após o processo de coleta dos dados, os dados são organizados
e estruturados em um schema predefi nido e específi co para que seja reconhecido
no DW (representado por DWH). Por outro lado, em um Data Lake, os dados que
chegam são armazenados na sua forma mais bruta e somente serão utilizados
sob demanda, ou seja, a seleção de variáveis relevantes será realizada somente
conforme as necessidades do momento. A transformação, por sua vez, ocorrerá
após a etapa de carga. Uma tarefa opcional é combinar esse processo com o
DW. Evidentemente que isso é algo que dependerá das necessidades específi cas
da organização ou do seu projeto.
104
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
FIGURA 2 – REPRESENTAÇÃO GRÁFICA QUE
COMPARA AS ABORDAGENS ETL E ELT
FONTE: . Acesso em: 20 nov. 2018.
O grupo McKinsey&Company aponta quatro estágios para implementação e
construção de Data Lake nas empresas, conforme mostramos a seguir:
• Landing zone (zona de pouso) ou dados brutos: é o primeiro estágio
de um Data Lake, uma vez que os dados são coletados, eles podem ser
armazenados em uma camada de gerenciamento presente em alguma
infraestrutura de TI, que permite que os dados sejam armazenados em
uma forma bruta antes de serem preparados para utilização. Para que
isso se concretize, as organizações precisam se empenhar para implantar
uma forte governança de dados, a fi m de garantir sua consistência.
• Ambiente de ciência de dados: nesse estágio, o Data Lake pode ser
utilizado como plataforma de experimentação, ou seja, os cientistas
podem se concentrar em realizar experimentos e análises, coletando
informações relevantes e extraindo insights, inclusive para análises ad-
hoc. Mais do que isso, podem ser construídas ferramentas comerciais e
open-sources, combinando com o Data Lake para criar os ambientes de
testes necessários.
• Offl oad (descarga) para Data Warehouse: nesse momento, o Data
Lake começa a ser integrado com o(s) Data Warehouse(s) existente(s).
As empresas podem tirar proveito do baixo custo de armazenamento de
um Data Lake e armazenar cold data (dados frios) - ou seja, aqueles
dados que são raramente utilizados (ou inativos) e que muitas vezes são
105
FUNDAMENTOS PARA INTEGRAÇÃO ANALÍTICA, TÓPICOS AVANÇADOS
E TENDÊNCIAS EM BIG DATA ANALYTICS
Capítulo 3
mantidos para fi ns de conformidade nas empresas. Assim, é possível
não sobrecarregar o DW com informações que poderiam exceder suas
limitações de armazenamento. Dessa forma, as empresas podem manter
as extrações nos seus Bancos de Dados relacionais em seu(s) DW(s) e
migrar tarefas de extração e transformação não suportadas no DW para
o Data Lake, como dados não estruturados.
• Componentes críticos de operações de dados: esse último estágio
indica que provavelmente todas as informações que percorrem os
sistemas da empresa estão passando de alguma forma pelo Data Lake.
Este, por sua vez, torna-se um componente essencial na infraestrutura de
dados implementada e fornece dados como um serviço por meio de uso
intensivo de computação, que permite análise de dados mais avançada
e inclui softwares com aprendizagem de máquina. As empresas podem
criar aplicações para gerenciamento de desempenho.
O conceito de Data Lake é um novo mindset, não apenas a
tecnologia de um grande repositório. Sua arquitetura é composta
por um sistema de arquivos do Hadoop - HDFS com uma gama
de diretórios e arquivos que têm sido explorados por grandes
empresas, como Google, Netfl ix e Yahoo. Não é possível se limitar
às tecnologias como Data Warehouses e Data Minings, em que os
modelos de dados são previamente defi nidos e, portanto, limitam o
escopo das perguntas possíveis. Especialmente considerando que
a obtenção de um insight normalmente conduz a novas perguntas,
que, por sua vez, geram novos conhecimentos. A utilização de Data
Lake torna mais fl exível a busca de novos insights, incluindo em
fontes não estruturadas.
De modo simplifi cado, um Data Lake pode ser imaginado como
um imenso grid contendo bilhões de linhas e colunas. Ao contrário
de uma planilha estruturada, cada célula desse grid pode conter um
dado diferente (documento, imagem, post no Facebook etc).
À primeira vista, o Data Lake parece um amontoado de dados
sem controle, mas não é verdade. É necessário um processo
efi caz de governança, que envolva segurança, controle de acesso
e aderência a normas de compliance. A ideia de colocar todos os
dados em um lugar e deixar que os usuários, por sua conta, façam
suas buscas e correlações, gerando eles mesmos os insights é algo
que torna o Data Lake tão atraente.
106
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
2.1.1 INTEGrAÇÃo DE ETL No HADooP
Você estudou no Capítulo 1 que o ecossistema Hadoop contém uma coleção
de ferramentas que podem ser úteis para análises sofi sticadas de Big Data. Para
coletar dados de fontes estruturadas, como Bancos de Dados relacionais, você
pode utilizar o Sqoop, que é uma ferramenta que utiliza comandos SQL para
fazer a ingestão de dados no HDFS.
Por meio deste tutorial , você pode aprender a instalar o SQOOP e
importar dados do MySQL para o HDFS. Caso não tenha confi gurado
o ambiente de execução, acesse este link: .
Ainda tratando do processo de coleta e ingestão de dados em Big Data,
você pode mover grandes quantidades de dados em streaming (logs, eventos,
dados de redes sociais etc.) para o HDFS ou um Banco de Dados não relacional
como o HBase. O Apache Flume possui controle de balanceamento de carga
para garantir um fl uxo constante de dados, mecanismos de tolerância a falhas,
escalabilidade, entre outras características.
Sugerimos que você tente instalar, confi gurar e testaro Apache
Flume por meio deste tutorial: . Neste tutorial, você
utilizará o Apache Flume para coletar dados do Twitter e armazená-
los no HDFS.
Em ambas ferramentas o processo de extração e carga são realizados. Uma
vez que os dados estejam no HDFS, já é possível construir suas análises de Big
Data utilizando, por exemplo, o Spark ou Mahout e aplicar algoritmos de Machine
Learning. O Apache Mahout é um framework que permite a execução de
107
FUNDAMENTOS PARA INTEGRAÇÃO ANALÍTICA, TÓPICOS AVANÇADOS
E TENDÊNCIAS EM BIG DATA ANALYTICS
Capítulo 3
aplicações de Machine Learning dentro de um ambiente escalável e distribuído.
Você pode implementar técnicas voltadas para classifi cação, clusterização ou
aplicar tarefas de mineração de dados. Enfi m, você pode analisar tudo isso dentro
de um cluster de máquinas que suporta o armazenamento e o processamento de
grande volume de dados.
Que tal experimentar o Mahout e assim aplicar modelos
de classifi cação ou clusterização em seus projetos? Por meio
desse endereço você pode aprender a preparar ou confi gurar o
ambiente para utilizar o Apache Mahout. Experimente.
Como já mostramos no Capítulo 2, você pode também aplicar o Apache Kafka
para criar um pipeline que colete dados diretamente das fontes, especialmente
dados de fl uxo contínuo (streaming). Essa plataforma possui mecanismos
internos para tratamento de erros, além de uma arquitetura escalável que permite
processar grandes volumes de dados que estão chegando a nossa infraestrutura
de Big Data.
O Kafka é uma plataforma robusta e que pode ser implementada
para processar dados em tempo real. Você pode aprender a instalar,
confi gurar e implementar o Kafka por meio desse tutorial: . Pratique!
Uma das grandes vantagens em integrar essas ferramentas dentro dos
processos tradicionais de BI é a questão do seu custo. Embora, eventualmente,
o fator complexidade para implementação pese, se comparado a ferramentas
proprietárias que estão prontas para utilização, as ferramentas que fazem
parte do ecossistema Hadoop se destacam por serem livres de licença de uso
open-source. Assim, você tem a tranquilidade de implementar e modifi car seus
108
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
projetos para uso pessoal, comercial ou com objetivos de pesquisa, entre outras
fi nalidades. Na próxima seção, você aprenderá em mais detalhes sobre o Apache
Spark. Antes, pratique o que você aprendeu nesta seção nas atividades a seguir.
1 Que tipo de limitações a arquitetura tradicional do BI tem
enfrentado na era Big Data?
R.: ____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
2 Aponte diferenças entre o processo de ETL vs ELT:
R.: ____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
3 Cite algumas ferramentas/frameworks Hadoop que podem ser
utilizados para suprir carências na ingestão de dados no
processo de ETL:
R.: ____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
109
FUNDAMENTOS PARA INTEGRAÇÃO ANALÍTICA, TÓPICOS AVANÇADOS
E TENDÊNCIAS EM BIG DATA ANALYTICS
Capítulo 3
3 APACHE SPARK: CONCEITOS,
COMPONENTES, ESTRUTURA E
APLICAÇÕES
Nesta seção exploraremos o Apache Spark, uma poderosa ferramenta para
processamento e análise de dados de fl uxo contínuo (streaming de dados). Você
conhecerá um pouco sobre a arquitetura e os componentes do Spark, assim como
alguns exemplos utilizando a linguagem Python. É recomendável que você tente
praticar os exercícios ou tutoriais sugeridos para consolidar seus conhecimentos.
3.1 CONCEITOS E COMPONENTES
CORE DO APACHE SPARK
O Apache Spark é um framework open-source poderoso para processamento
efi ciente e iterativo de grandes conjuntos de dados. Esse framework foi criado
com o intuito de suprir algumas defi ciências de processamento do Hadoop
MapReduce - como a baixa efi ciência para lidar com processamento iterativo e
contínuo (streaming) de microlotes de dados. Tradicionalmente as operações
de leitura-escrita em MapReduce são em disco (HFDS), apresentando altas
taxas de latência em processos iterativos, ou seja, processos que são repetidos
constantemente. Por outro lado, as operações no Spark são realizadas em
memória, tornando o processamento muito mais veloz, ao mesmo tempo que
herda mecanismos de tolerância a falhas e escalabilidade do MapReduce.
Essa característica permite que o Spark seja 100 vezes mais veloz que o
Hadoop MapReduce. Apesar de ter sido desenvolvido na linguagem Java, o Spark
fornece APIs para que você possa implementar aplicações de forma paralela
e transparente, utilizando Python, Scala ou R. Além disso, o Spark fornece um
conjunto de bibliotecas para construção de aplicações, conforme mostra a Figura 3.
110
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
FIGURA 3 – PILHAS (STACKS) DE BIBLIOTECAS DO APACHE SPARK
FONTE: . Acesso em: 27 nov. 2018.
Esse conjunto de bibliotecas é fornecido por intermédio do Spark Core, que
é a plataforma-base que permite o funcionamento dessas bibliotecas. É possível
dimensionar quão poderoso é o Spark por meio dessas bibliotecas. Por isso, é
importante que você as conheça.
O primeiro componente que merece destaque é o Spark SQL. Ele permite
o uso da linguagem SQL para realizar consultas e processar dados estruturados
no Spark, tudo de forma distribuída e otimizada. Além de utilizar diretamente a
linguagem SQL, você também tem a opção de usufruir das APIs projetadas nas
linguagens de programação Java, Scala, Python ou R através de uma sintaxe
simples e intuitiva. Caso você esteja habituado com consultas em HiveQL, o Spark
SQL também fornece suporte. Observe um exemplo do Spark SQL na Figura 4:
FIGURA 4 – EXEMPLO DE MANIPULAÇÃO DE DADOS COM SPARK SQL
FONTE: . Acesso em: 27 nov. 2018
Observe que os dados podem ser capturados e integrados a partir de
diferentes fontes. Você pode construir um SQL dentro do Spark para unir registros
de uma tabela com dados obtidos de uma fonte em JSON.
111
FUNDAMENTOS PARA INTEGRAÇÃO ANALÍTICA, TÓPICOS AVANÇADOS
E TENDÊNCIAS EM BIG DATA ANALYTICS
Capítulo 3
Para conhecer mais sobre o Spark SQL, possibilidades de
integração e conexão, bem como alguns exemplos, acesse a
documentação no site: . Tente praticar.
O Python é uma das linguagens de programação mais populares
para análise de dados e será utilizado ao longo desta seção como
referência. Sevocê ainda não conhece a linguagem, recomendamos
que você explore os seguintes endereços:
• Python Data Science Handbook: .
• Pandas Tutorial: .
• Practice Python: .
Como atividade prática é recomendável que nesse primeiro
momento você realize a instalação e a confi guração do Apache Spark:
. O processo de instalação
é simples, no entanto, é necessário realizar algumas confi gurações
adicionais que podem variar de acordo com o seu sistema operacional.
Neste tutorial , você pode instalar e confi gurar o PySpark,
que permite conectar o Python ao Spark. Certifi que-se de ter instalado
o Java e o Scala no seu computador. Caso não tenha instalado, siga
os passos neste link: . Por fi m, se desejar algo mais completo
e avançado, este tutorial pode ajudá-lo: .
O Spark também contém um componente útil para processamento e análise
de dados em tempo real - o Spark Streaming. Este componente possui uma
sintaxe simples e unifi cada tanto para implementação em dados em tempo real
como também para análise de dados históricos (dados em batch), ou seja, a
maneira que você codifi ca para streaming é praticamente a mesma para batch.
Com o Spark Streaming, os dados podem ser coletados de fontes, tais como:
dados de bolsas de valores, redes sociais, sensores, dados pluviométricos,
112
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
dispositivos de IoT (Internet das Coisas), entre outras. Embora esse tipo de análise
(em tempo real) não exija grandes recursos de armazenamento, uma vez que o
foco é a coleta, o processamento e a análise de microlotes de dados, é possível
carregar os dados tanto em memória como em disco via HDFS. Neste último
caso, é recomendável que você opte por essa alternativa quando os recursos
de memória estiverem realmente escassos. Os motivos você já deve imaginar
(conforme comentamos no início desta seção): o Spark processa os dados em
memória, o que o torna mais veloz se comparado ao processamento em disco. A
Figura 5 mostra um exemplo de implementação do Spark Streaming combinando
com informações históricas.
FIGURA 5 – COMBINANDO EM UMA ÚNICA CONSULTA: STREAMING E BATCH
FONTE: . Acesso em: 27 nov. 2018.
Para conhecer mais sobre o Spark Streaming, possibilidades de
integração, bem como alguns exemplos, acesse a documentação no
site: .
Antes de ir para a atividade prática, você deve se certifi car que o
Spark esteja devidamente instalado na sua máquina. Recomendamos
fortemente que você utilize como referência o tutorial da Apache para
o Spark Streaming: .
113
FUNDAMENTOS PARA INTEGRAÇÃO ANALÍTICA, TÓPICOS AVANÇADOS
E TENDÊNCIAS EM BIG DATA ANALYTICS
Capítulo 3
Outro componente do Spark que merece destaque é o Spark MLlib.
Enquanto o Spark SQL e o Spark Streaming atuam mais próximos à origem (fontes
de dados) coletando e processando dados, o Spark MLib converge para análise
de Big Data ao implementar de forma efi ciente diversos algoritmos de Machine
Learning voltados para classifi cação, regressão e clusterização. Os algoritmos do
Spark MLib foram projetados para executar em memória e responder rapidamente
aos requisitos de computação iterativa. Assim podemos coletar dados de
streaming do Twitter em um dado intervalo (janela) de tempo, aplicar algumas
etapas de transformação e limpeza e carregar os dados no HFDS e assim utilizar
os algoritmos do MLlib para realizar as análises desejadas. Cabe salientar que o
armazenamento no HDFS é algo opcional. Por exemplo, para análises em tempo
real, o armazenamento muitas vezes não é algo requerido e a análise é realizada
logo após a etapa de transformação e limpeza dos dados e, após isso, os dados
podem ser descartados, uma vez que a informação que chega, só é importante
naquele momento. Em situações nas quais desejamos manter uma base histórica
dos dados que estão fl uindo pelo sistema, o armazenamento no HDFS pode ser
uma alternativa. A Figura 6 mostra um exemplo prático de uso de um algoritmo
que permite construir um modelo de Machine Learning utilizando o Spark MLlib.
FIGURA 6 – EXEMPLO DE USO DE UM ALGORITMO (KMEANS) NO SPARK MLLIB
FONTE: . Acesso em: 27 nov. 2018.
Para conhecer mais sobre o Spark MLlib, possibilidades de
integração, conhecer os algoritmos e outras possibilidades de uso
deste componente, acesse a documentação no site: .
114
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
Você pode utilizar como um guia de referência o tutorial do
Spark MLlib .
Também recomendamos este blog , que apresenta conteúdo e exemplos práticos
relacionados ao MLlib, não perca a chance de praticar.
Por fi m, o último componente que podemos citar é o Spark GraphX. Como
o nome sugere, é uma estrutura que processa informações de grafos de forma
efi ciente. Então, conforme você aprendeu no Capítulo 2, a análise de Big Data
pode se dar em forma de grafos, que são constituídos por um conjunto de vértices
(atores) e arestas (relações). Em uma estrutura de rede social, considerar essa
estrutura é importante para que possamos analisar e identifi car qual o papel de
um usuário na rede, referindo-se a sua importância ou relevância, seu grau de
interação ou a força do relacionamento entre os usuários. A estrutura deste tipo
de rede pode ser processada de forma efi ciente e paralela por meio do Spark
GraphX. A própria documentação destaca que este componente pode ser utilizado
como ETL, para análise exploratória e computação dos grafos de forma iterativa e
com uma efi ciência superior a outras soluções do mercado. A Figura 7 demonstra
um rascunho de implementação utilizando o Scala, observe que a sintaxe não
difere muito em relação aos outros componentes que foram abordados.
Você pode compreender com mais profundidade a respeito do
Spark GraphX e seus algoritmos. Para isso, acesse a documentação
no site: .
FIGURA 7 – EXEMPLO DE UMA IMPLEMENTAÇÃO UTILIZANDO
A API SCALA FORNECIDA PELO SPARK
FONTE: . Acesso em: 27 nov. 2018.
115
FUNDAMENTOS PARA INTEGRAÇÃO ANALÍTICA, TÓPICOS AVANÇADOS
E TENDÊNCIAS EM BIG DATA ANALYTICS
Capítulo 3
Este tutorial apresenta um passo a passo de
implementação do GraphX utilizando o PySpark. Além disso, para
buscar informações mais completas e avançadas, você pode acessar
o guia do próprio Spark GraphX: .
Todos esses componentes podem ser combinados em uma única solução
e isso, evidentemente, varia conforme a sua necessidade. Por exemplo, talvez
você precise coletar dados em tempo real do Facebook para prever a chance
que um usuário ou grupo de usuários tem de romper amizade. Nesse caso, você
pode utilizar o Spark Streaming para conectar a API desta rede social e começar
a realizar a coleta. Em seguida, aplicar um algoritmo de Machine Learning
com o Spark MLlib, tudo isso sob um rápido processamento de uma estrutura
baseada em rede utilizando o GraphX. Assim, é importante ter em mente essas
possibilidades para que, de fato, você seja capaz de usufruir amplamente da
capacidade de processamento e análise do Apache Spark.
3.2 DEMAIS COMPONENTES DO
APACHE SPARKProcessamento em Batch, Streaming, em grafos, manipulação de dados
utilizando comandos SQL e análise preditiva (Machine Learning). Tudo isso em
um ambiente distribuído, escalável, tolerante a falhas e extremamente veloz.
Todos esses ingredientes tornam o Apache Spark uma das soluções de Big Data
mais atrativas para desenvolvedores e empresas, mas o que torna o Spark tão
poderoso?
De acordo com Zaharia et al. (2010), para que o Spark suporte computação
iterativa, mantendo escalabilidade e tolerância a falhas, um dos componentes
mais importantes está relacionado à construção de uma abstração conhecida
como Resilient Distributed Datasets (RDDs) ou se preferir uma tradução literal
- conjunto de dados resilientes e distribuídos. Estes mesmos autores defi nem o
RDD como:
116
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
Uma coleção de objetos somente de leitura particionados
através de um conjunto de máquinas que podem ser
reconstruídas caso uma partição seja perdida. Os usuários
podem armazenar em cache explicitamente um RDD na
memória entre máquinas e reutilizá-lo em várias operações
paralelas semelhantes a MapReduce. Os RDDs atingem a
tolerância a falhas por meio de uma noção de linhagem: se uma
partição de RDD foi perdida, o RDD terá informações sufi cientes
a respeito de como ele foi derivado de outros RDDs para ser
capaz de recriar apenas essa partição. Embora os RDDS não
sejam uma abstração geral de memória compartilhada, eles
representam um ponto ideal entre a expressividade por um
lado e a escalabilidade e confi abilidade por outro (ZAHARIA et
al., 2010, grifos nossos).
A resiliência de um RDD é uma característica que garante o controle de
falhas que venham a ocorrer no sistema. Os dados em um RDD são persistidos
em partições e distribuídos em diferentes nós em um cluster para que possam
ser processados, posteriormente, de uma forma mais ágil. O Dataset é uma
estrutura do RDD similar a uma tabela (por exemplo, de um Banco de Dados) que
armazena dados de diferentes tipos.
Uma característica que defi ne o RDD é a sua imutabilidade. Por exemplo,
no momento em que você cria um RDD no Spark e em seguida aplica alguma
operação de transformação, um novo RDD será criado, enquanto que as
propriedades do RDD anterior permanecem intactas e por isso são consideradas
imutáveis. Para criar uma RDD, é necessário que antes você defi na um objeto
para se conectar ao Spark e assim usufruir dos seus recursos, criando um Spark
Context, que estabelece a conexão com o framework.
Para que você conheça mais e crie um Spark Context pelo
PySpark, sugerimos que acesse este tutorial: . Após a
conexão, você pode criar uma RDD, acessando: .
As RDDs suportam dois tipos de operações: as transformações e as ações.
Quando aplicamos uma operação de transformação em um RDD, um outro RDD
é criado. A etapa de transformação só é concluída quando uma operação de
ação for realizada (Lazy Evaluation), que visa modifi car seu conjunto de dados,
conforme apresentado na Figura 8. O Spark Context é criado para permitir que
117
FUNDAMENTOS PARA INTEGRAÇÃO ANALÍTICA, TÓPICOS AVANÇADOS
E TENDÊNCIAS EM BIG DATA ANALYTICS
Capítulo 3
a linguagem acesse os recursos do Spark. Após essa etapa é criado o primeiro
RDD, que faz a leitura de um arquivo por intermédio do método textfi le. O próximo
passo é a criação da primeira transformação (método fl atMap) sob o RDD anterior,
consequentemente um novo RDD é criado e armazenado (val AllWords). Em
seguida, uma outra etapa de transformação é executada neste RDD aplicando
o método fi lter e resultando na criação de um novo RDD (val words) e assim
sucessivamente.
FIGURA 8 – EXEMPLO DA OPERAÇÃO DE TRANSFORMAÇÃO NA LINGUAGEM SCALA
FONTE: . Acesso em: 28 nov. 2018.
Apresentaremos a seguir um exemplo em Python para remoção de stopwords
via Spark. Basicamente, o primeiro RDD faz a leitura de um arquivo com conteúdo
textual. Em seguida, é defi nida uma lista com algumas stopwords da língua
118
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
portuguesa. A terceira linha cria um novo RDD (second_rdd) a partir do RDD
anterior (fi rst_rdd) e aplica uma operação de transformação (utilizando o método
fi lter). A expressão lambda é uma função anônima do Python, que basicamente
retornará apenas um conjunto de registros nos quais não existam as stopwords
defi nidas na linha anterior. A penúltima linha é uma operação de ação (método
take) que recupera apenas os 20 primeiros registros do RDD (second_rdd).
Caso você deseja guardar (persistir) essa informação na memória para posterior
recuperação, você pode passar ao second_rdd o método cache, conforme mostra
a última linha. Assim, é possível recuperar rapidamente a informação no cluster
sem precisar executar novamente esta operação.
fi rst_rdd = sc.textFile(“PATH”)
stopwords = [“e”, “o”, “de”, “para”, “um”, “uma”]
second_rdd = fi rst_rdd.fi lter(lambda x: x not in stopwords)
second_rdd.take(20)
second_rdd.cache()
O Quadro 1 apresenta alguns dos métodos presentes nas operações de
transformação e ação.
QUADRO 1 – LISTA DE ALGUMAS OPERAÇÕES DE TRANSFORMAÇÃO E AÇÃO
FONTE: . Acesso em: 27 nov. 2018.
Transformação Descrição Ação Descrição
Map
Retorna um novo RDD após
o processamento de cada ele-
mento.
Reduce
Agrega os valores que foram
mapeados anteriormente.
Sample
Coleta uma amostra (com ou
sem reposição) do dado por
meio de um número aleatório.
Collect
Retorna uma coleção conten-
do todos os elementos de um
RDD.
Join
Realiza a junção entre cole-
ções através de pares (chave,
valor).
Count
Obtém o número de elementos
presentes em uma coleção.
SortByKey
Retorna uma coleção de pares
(chave, valor) e os ordena por
chaves.
SaveAsTextFile
Realiza operação de escrita
de todos os elementos de uma
coleção em um arquivo de tex-
to, seja no sistema de arquivos
local, seja por meio dos siste-
mas de arquivos do Hadoop
(HDFS).
119
FUNDAMENTOS PARA INTEGRAÇÃO ANALÍTICA, TÓPICOS AVANÇADOS
E TENDÊNCIAS EM BIG DATA ANALYTICS
Capítulo 3
Você pode consultar uma lista completa de métodos das
operações de transformação e ação, assim como conhecer
o signifi cado de cada um por meio deste endereço: . Em se tratando de persistência dessas
operações, é possível guardar essas informações não somente na
memória, como também no disco. Consulte mais informações a
respeito no endereço eletrônico sugerido.
Por outro lado, a ação visa aplicar uma operação que executa uma
determinada transformação. Por exemplo, podemos aplicar um fi ltro (método
fi lter) em um determinado termo presente em um arquivo de texto, o que gerará
um novo RDD. Em seguida, aplicamos um método para executar uma operação
de ação para contar o número de elementos presentes (método count) neste
RDD, ou seja, a ação retorna o resultado (valor) propriamente dito. Este fl uxo
pode ser representado genericamente como mostra a Figura 9.
FIGURA 9 – AO APLICAR UMA OPERAÇÃO DE TRANSFORMAÇÃO (MAP, FILTER...)
CRIAMOS UM NOVO RDD QUE APONTA PARA O RDD DE ORIGEM. UM RESULTADO
É RETORNADO QUANDO APLICAMOS UMA AÇÃO (SAVEASTEXTFILE, REDUCE...)
FONTE: . Acesso em: 28 nov. 2018.
120
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
Para obter ganho de efi ciência em suas aplicações Spark, pode ser que, em
algumas atividades rotineiras em uma operação de ação, seja possível “cachear”
(caching) essas informações, ou seja, guardar o resultado produzido por ela dentro
da memória. Dessa maneira, quando precisarmos do resultado dessa ação, todo
o processo de cálculonão precisará ser executado novamente.
O Apache Spark possui uma arquitetura robusta e transparente
para o usuário. Se você desejar se aprofundar para conhecer mais
a respeito dessa arquitetura, sugerimos que pesquise mais através
deste endereço: .
3.3 CASES E APLICAÇÕES DO
APACHE SPARK
As vantagens trazidas pelo framework, mostradas na seção anterior,
incentivaram grandes empresas a fazerem uso do Apache Spark. A seguir, você
conhecerá alguns cases, conforme apontado por Amster (2016):
• Netfl ix: a empresa utiliza o Spark Streaming para obter insights de forma
imediata (em tempo real) sobre como os usuários estão engajados
em seu site. Dessa forma, a empresa tem a possibilidade de fornecer
recomendações de fi lmes e/ou séries em tempo real.
• Uber: o Uber também é uma outra grande empresa que utiliza o Spark
Streaming para processar terabytes de eventos de seus usuários móveis
combinando com o Apache Kafka e o HDFS para construir um pipeline
de ETL de fl uxo contínuo. Dessa forma, o Uber pode converter dados
brutos não estruturados dos eventos em dados estruturados logo após a
etapa de extração e assim realizar análises mais complexas.
• Pinterest: por meio de um pipeline de ETL, o Pinterest pode aproveitar os
benefícios do Spark Streaming para obter informações de seus usuários
em tempo real ao identifi car como os usuários estão interagindo com
os Pins. A partir desses dados, a empresa pode fazer recomendações
mais relevantes à medida que as pessoas vão navegando no site. Os
Pins relacionados são úteis para que elas possam selecionar suas reais
preferências no que tange a receitas, produtos ou planejamento de
viagens para vários destinos.
121
FUNDAMENTOS PARA INTEGRAÇÃO ANALÍTICA, TÓPICOS AVANÇADOS
E TENDÊNCIAS EM BIG DATA ANALYTICS
Capítulo 3
• Conviva: com aproximadamente 4 milhões de feeds de vídeo por mês
(perdendo apenas para o Youtube), a Conviva utiliza o Spark para
reduzir a rotatividade de seus clientes, otimizando fl uxos e gerenciando
o tráfego de vídeos em tempo real e, consequentemente, mantém uma
experiência de visualização desejável e de alta qualidade.
Além desses casos de uso apresentados, o Apache Spark tem dado suporte
a diversas aplicações. A página ofi cial do Spark apresenta algumas destas:
• Apache Mahout: originalmente construído sob o Hadoop MapReduce, o
Mahout foi readaptado e atualmente utiliza do Spark como backend para
obter ganho de processamento.
• Apache MRQL: utiliza o Spark para análise de dados distribuídos em
larga escala, também para processamento e otimização de consultas.
• Spindle: mecanismo de consulta de análise web que faz uso do Spark
para otimização.
• Thunderain: um framework que combina processamento streaming e
batch (dados históricos) que pode ser pensado como uma arquitetura
lambda.
• Oryx: uma arquitetura lambda que mescla o Apache Spark e Apache
Kafka para aprendizado de máquina em tempo real.
• ADAM: um framework capaz de carregar, transformar e analisar dados
genômicos (subárea da bioquímica que estuda o genoma de um
organismo) utilizando o Spark.
Os casos de uso e aplicações apresentadas representam apenas uma
pequena parcela de uma infi nidade de aplicabilidades do Apache Spark. Tudo
isso é explicado devido à grande capacidade de integração e facilidade de uso
deste framework. Além disso, a abstração fornecida pelos seus componentes
permite que executemos aplicações de forma transparente, tendo uma sensação
de que estamos implementando ou codifi cando em uma única máquina, quando,
na verdade, os dados estão sendo gerenciados, armazenados e distribuídos em
diferentes nós do cluster. Não devemos considerar o Spark como uma solução
oposta ou concorrente ao Hadoop. Ao contrário, o Spark surge como uma
alternativa efi ciente para processamento de grandes volumes de dados e, pode
ser perfeitamente integrado ao Hadoop. Por exemplo, para dados massivos que
superam a capacidade de armazenamento em memória, você pode integrar o
HDFS a sua arquitetura de Big Data e usufruir do processamento veloz do Spark.
122
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
Tudo dependerá das suas reais necessidades. Na próxima seção abordaremos a
Internet das Coisas e o Big Data, antes disso, que tal praticar o que você aprendeu
nesta seção?
1 Em termos de processamento, o que credencia o Apache Spark a
ser uma das soluções mais viáveis no Big Data?
R.: ____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
2 Quais são os principais componentes do Spark? Qual a função de
cada um?
R.: ____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
3 O que é RDD e que tipo de operações são suportadas?
R.: ____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
123
FUNDAMENTOS PARA INTEGRAÇÃO ANALÍTICA, TÓPICOS AVANÇADOS
E TENDÊNCIAS EM BIG DATA ANALYTICS
Capítulo 3
4 INTERNET DAS COISAS: VISÃO
GERAL, CONCEITOS E APLICAÇÕES
Você já ouviu falar de Internet das Coisas? Certamente que sim. No Capítulo
1 você viu como a Internet das Coisas afetará o mundo dos negócios, mas em
que sentido? Como isso será de fato realizado? Nesta seção abordaremos com
mais profundidade essas questões. Esperamos que faça um bom proveito. Bons
estudos.
4.1 INTERNET DAS COISAS:
CONCEITOS E VISÃO GERAL
Quando falamos de Internet sob uma perspectiva de geração de dados,
associamos isso a computadores, ou melhor, pessoas produzindo e consumindo
conteúdo a todo momento. Seja utilizando um dispositivo móvel, como celulares
ou tablets, seja por uma máquina pessoal (PCs ou notebooks). Na era da “Internet
dos Computadores”, os principais atores para propagação dos dados são os seres
humanos. Por outro lado, na Internet das Coisas os principais atores são coisas
que ora consomem, ora produzem dados. Isso permite que os computadores
sejam capazes de obter informações e aprender a resolver problemas do mundo
real a partir dos dados obtidos pelas coisas e assim eles serão capazes de sentir
e reagir ao mundo real servindo de apoio para decisões humanas (QIN; SHENG,
2017).
Uma outra defi nição interessante de Internet das Coisas é apontada por
Datameer (2015): uma rede física de objetos que está conectada e que pode
ser acessada por intermédio da internet. Esses objetos conectados contêm uma
tecnologia embutida, tais como sensores, que permitem que objetos percebam e
se comuniquem. Esta capacidade é que mudará a maneira de como e onde as
decisões são tomadas, quem as tomará e quão rapidamente elas serão decididas.
Algo de relevante pode ser extraído a partir dessa defi nição. O termo objeto
são as coisas que poderão ganhar “vida” ao perceber e se comunicar entre si
dentro de um ambiente. Podemos imaginar umMarr (2015) destaca algumas dessas mudanças que
tornarão o mundo mais “inteligente”, no qual sistemas de GPS e microssensores
terão grande utilidade. A seguir, apresenta-se alguns segmentos que estarão (ou
já estão) diante desta revolução:
• Saúde: a capacidade de monitorar nossa própria saúde permitirá que
a medicina atue de forma preventiva com base nos dados disponíveis.
Apps de dispositivos móveis, como também pulseiras e relógios que se
conectam à Web, podem ser considerados mecanismos de coleta de
dados. É possível que, por exemplo, esses dados fi quem armazenados
em nuvem e sejam compartilhados com seu plano de saúde ou seu
médico em tempo real. Microssensores também podem ser úteis para
monitorar e/ou alertar pacientes que estão se medicando adequadamente
no horário correto e até avisar membros da sua família para lembrá-
lo sobre a medicação. Além disso, scanners com alta tecnologia estão
sendo utilizados para detectar lesões cerebrais e/ou tumores e assim
aumentar a precisão do diagnóstico.
• Casa: quando falamos de inteligência em lares é importante destacar
que isso está diretamente relacionado à autonomia de sistemas de
aquecimento, geladeiras e até objetos se tornarem capazes de “entender”
o ambiente que os cerca e tomar ações para lidar com as tarefas
rotineiras. Isso signifi ca chegarmos em casa com nosso carro equipado
com câmeras e sensores “inteligentes” capazes de detectar obstáculos,
medir temperatura ambiente, pressão barométrica, entre outros atributos,
que se comunicarão com a garagem da nossa casa por intermédio de
um portão equipado com sensores, detectando se estamos próximos
de casa e, assim, com base na distância e velocidade calculará o exato
momento para sua abertura. Ao mesmo tempo, nosso chuveiro elétrico
se ajustará, de acordo com a temperatura ambiente, a um banho quente,
frio ou moderado. Nossa geladeira, guiada por GPS, saberá exatamente
onde estamos, medirá a temperatura e ao acusar alta temperatura
externa aumentará sua potência e diminuirá a temperatura interna para
que, assim que chegarmos, nos ofereça uma água bem gelada. A TV da
nossa casa, por intermédio do uso de reconhecimento facial, nos dará
segurança como pais e garantirá que crianças não assistam conteúdo
inapropriado de acordo com sua faixa etária. Tudo isto retrata uma
realidade que, quase todo objeto que temos, se conectará à internet e
ganhará “vida”, tornando-se ainda mais útil para nossa rotina. Todo esse
ambiente de comunicação produzirá mais dados. É algo real e que,
progressivamente, será inserido em nossos ambientes.
14
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
• Amor mais inteligente: o relacionamento com as pessoas vem se
modifi cando ao longo dos anos. As pessoas estão se relacionando
bastante pela internet. Possuímos mais amigos virtuais do que reais e
parece que isso será uma tendência nos próximos anos, pelo menos
no que diz respeito a relacionamentos amorosos. Sites e aplicativos
de encontros combinam pessoas considerando como base variáveis
referentes aos comportamentos, às crenças, aos valores, aos traços
de personalidade e às habilidades sociais. Normalmente, esses dados
são coletados no momento do cadastro por meio de um questionário.
Os matches (ou correspondências) são traçados no momento em que o
modelo classifi ca um usuário como match potencial em relação a outro
usuário. Outro critério que pode ser utilizado é comparar os matches
em potencial com base em outros perfi s similares, defi nindo scores em
função de probabilidades que atribuem um valor para qualifi car um perfi l
como match ou não match.
O seguimento de relacionamento foi um dos mais afetados com
a difusão da tecnologia. Alguns aplicativos ganham destaque neste
ramo, com a promessa de fornecer um conjunto de pessoas que se
aproximam do nosso perfi l. Faça uma pesquisa e cite um case de
sucesso de aplicativos voltados para este fi m. Observe seu contexto
histórico, suas estratégias e os resultados que alcançou considerando
parâmetros, como número de usuários ativos, lucratividade e assim
por diante.
Em muitas empresas, o Big Data já vem sendo implementado. As empresas
de vendas e varejo estão interessadas em coletar informações sobre seus
clientes para compreender seus padrões de compra e assim conhecê-los mais a
fundo. Empresas de fabricação buscam reduzir custos de fabricação e maximizar
sua produção. Alguns exemplos apresentados por Marr (2015) mostram que, em
2013, uma gigante do ramo farmacêutico utilizou análise de dados para reduzir
drasticamente a quantidade de desperdício causada pela variação das condições
no ambiente de fabricação. Os dados obtidos permitiram que a empresa
descobrisse condições ótimas durante o processo de fermentação. Outro exemplo
são as empresas do ramo automotivo, que também têm explorado soluções de
Big Data, especialmente em processos de fabricação para avaliar a efi ciência de
cada máquina. Já na agricultura, a análise de dados tem auxiliado a indústria a
15
COMPREENDENDO A ANÁLISE DE INFORMAÇÃO
NO CONTEXTO DE BIG DATA
Capítulo 1
enfrentar os desafi os frente à crescente produção de alimentos no mundo, pois as
máquinas que operam nos campos estão equipadas com sensores que captam
diversas informações que são utilizadas para estabelecer condições ideais para
suas culturas. Em 2014, a Cisco anunciou um investimento de 150 milhões de
dólares para fi nanciar startups que trabalhem para melhorar a integração com o
mundo físico, com o intuito de controlar o estoque, mantendo elevada efi ciência e
reduzindo desperdícios.
Os exemplos citados reforçam apenas uma pequena parcela do total de
empresas com real interesse em fi nanciar ou investir na sua capacidade de
explorar dados ou as que têm proposto iniciativas em análise de dados. Contudo,
existem muitos outros cases espalhados pela internet que corroboram com o
avanço da análise dos dados, com a tendência que as empresas estão em busca
de insights valiosos que possam ser utilizados para melhorar sua cadeia de
produção, conhecer melhor seus clientes e assim tornarem-se mais competitivas.
2.1 ANÁLISE DE DADOS: POTENCIAIS
E LIMITAÇÕES
Os dados que antes eram apenas armazenados em planilhas eletrônicas ou
em Banco de Dados Relacionais para fi ns de consulta e/ou conformidade, hoje
estão prontos para uso com as mais diversas fi nalidades. Essa realidade permitiu
que áreas da ciência começassem a ganhar destaque, tais como a Computação,
a Estatística, a Matemática, o Processamento de Linguagem Natural e muitas
outras que abrangem o conhecimento. Além disso, novas tecnologias emergiram
a partir dessa nova realidade, em que muitas empresas investem recursos em
soluções de Análise de Dados (Data Analytics) cada vez mais robustas, sejam
proprietárias ou open-sources.
Com base nisso, a análise de dados tradicional tornou-se uma alternativa
importante para as empresas encontrarem valor em dados que fi cavam apenas
armazenados em seus sistemas legados. No entanto, para que isso aconteça,
é necessário seguir etapas importantes, como a aquisição e a exploração dos
dados, descrevê-los e minerá-los na tentativa de encontrar padrões que possam
conduzir a um entendimento maior do objeto de estudo que está sendo analisado.
Dessa forma, existe uma diversidade de conceitos, técnicas e algoritmos
que permitirão extrair o que há de melhor no conjunto de dados. Isso signifi ca
que nem sempre a tarefa é simples de ser realizada e, por isso, é necessário
que o profi ssional seja amplamente capacitado com um mix de conhecimentos,
julia
Realce
16
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
tais como: habilidades para trabalhar com Bancos de Dados, especialmente
tarefas de Data Manipulation Language (DML), para realizar manipulação
de dados com comandos de leitura, inserção, alteração e deleção, também
habilidades estatísticas para compreensão de como os dados estão distribuídos
e relacionadoslar doméstico onde a geladeira se
comunica com um dispositivo móvel alertando em tempo real sobre a ausência de
algum produto. De fato, essa é uma tendência real. Ao longo dessa comunicação,
imagine a quantidade massiva de dados trafegando o tempo todo e gerando
informação com potencial relevância!
124
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
Em um cenário cada vez mais conectado, a tendência é que novos
dispositivos passarão a gerar informações que podem ser úteis, não somente em
um ambiente doméstico, mas também em ambientes externos, como nas próprias
empresas. A Figura 10 evidencia o crescente número de dispositivos que serão
conectados à internet. Os dados apontam que até 2020 serão cerca de 50,1
bilhões de dispositivos gerando informação. Para se ter uma ideia, em 2010 o
número de dispositivos conectados era cerca de 10 vezes menor do que nos dias
atuais.
Você pode conhecer alguns destes dispositivos navegando
no menu deste site: . Além disso, a revista Época apontou algumas
iniciativas de Startup oferecendo soluções em Internet das Coisas.
Vale a pena conferir: .
FIGURA 10 – EVOLUÇÃO DO NÚMERO DE
DISPOSITIVOS CONECTADOS À INTERNET
FONTE: . Acesso em: 29 nov. 2018.
125
FUNDAMENTOS PARA INTEGRAÇÃO ANALÍTICA, TÓPICOS AVANÇADOS
E TENDÊNCIAS EM BIG DATA ANALYTICS
Capítulo 3
Imagine quão interessante seria uma rede de supermercados saber
informações de estoque de sua geladeira. A empresa, com base nessas
informações, poderia coletar e analisar os dados aplicando algoritmos e assim
tomar decisões mais assertivas ao compreender a real necessidade do cliente.
Ainda, nesse caso, a empresa também poderia propor o lançamento de novos
produtos ou promoções e enviar alertas ao consumidor.
Do ponto de vista interno, uma empresa de fabricação poderia monitorar
seus equipamentos com a implantação de sensores na tentativa de prever e se
antecipar a falhas, aplicando algoritmos de aprendizagem de máquina e tomando
decisões, como solicitar um serviço de manutenção no momento adequado - o
que economizaria custos com reparos mais complexos, ou, dependendo do
problema, a substituição do equipamento. De fato, todo o pátio da empresa
poderá ser monitorado, analisado e seus processos de produção otimizados.
Alguns dos sensores que podem ser implantados seriam: sensores de iluminação,
proximidade, temperatura, pressão, umidade, acelerômetro e assim por diante.
No entanto, qual o limite da nossa privacidade quando esses
dispositivos começarem a ganhar de vez espaço em nossos
lares? Nossa privacidade pode estar em risco se considerarmos a
possibilidade de sermos “vigiados” por entidades/pessoas externas.
Sem dúvida, essa é uma discussão que realmente está sendo
levantada nos meios jornalísticos. Sugerimos que você tire um tempo
para ler a respeito nesta matéria da Época, cujo tema é: Internet das
Coisas impõe desafi os de segurança, privacidade e conectividade:
. Certamente
você não encontrará difi culdades em encontrar outros materiais a
respeito, haja vista que o tema faz parte de uma ampla discussão
quando o assunto envolve a privacidade dos dados.
126
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
A Lei Geral de Proteção de Dados Pessoais foi sancionada no
Brasil em 2018 e trouxe uma série de reportagens a respeito. Sem
dúvida, isso representa um passo signifi cativo que resguarda as
informações dos cidadãos brasileiros. Observe algumas matérias:
• Folha de São Paulo: .
• Senado Notícias: .
• G1 Notícias: .
Para consultar a Lei Geral de Proteção de Dados na íntegra,
acesse o link: .
Toda essa difusão de novos dispositivos que estão sendo conectados à
internet gerando informação cria um ambiente propício para análise de Big Data.
Perceba que uma crescente quantidade de fontes, gerando volumes de dados
em um curto intervalo de tempo, impõe desafi os cada vez maiores e um ambiente
propício para o surgimento de novas tecnologias de Big Data. Estas, por sua vez,
precisam dar conta do armazenamento e processamento dessas informações
e entregar resultados para os negócios considerando diferentes níveis de
granularidade, conforme as necessidades.
4.2 INTERNET DAS COISAS:
SOLUÇÕES E APLICAÇÕES
A Internet das Coisas é constituída por um conjunto de objetos que estão
interligados gerando massivamente informação. Contudo, é necessário que exista
algum engine (mecanismo ou software que ofereça abstração) responsável por
gerenciar toda essa gama de dispositivos, oferecendo segurança, escalabilidade,
capacidade de processamento, entre outros adjetivos. Diante disso, existem
algumas soluções no mercado que podem ser úteis para quem planeja analisar as
informações desses dispositivos.
127
FUNDAMENTOS PARA INTEGRAÇÃO ANALÍTICA, TÓPICOS AVANÇADOS
E TENDÊNCIAS EM BIG DATA ANALYTICS
Capítulo 3
O Bridgera é uma plataforma robusta que se baseia em tecnologias de Big
Data, responsável por gerenciar a conexão entre os dispositivos e aplicações de
Internet das Coisas. O Bridgera tem como característica receber e enviar dados,
assim como armazenar grandes volumes de dados e processá-los em tempo real.
Essa plataforma utiliza como background tecnologias, como Apache NiFi, Apache
Kafka e Apache Storm para ler e processar os dados que são ingeridos na
plataforma e, dessa forma, consegue usufruir de todo o processo de tolerância a
falhas e processamento distribuído por essas ferramentas de Big Data. O Bridgera
fornece soluções fl exíveis para trabalhar com grandes ou pequenos conjuntos
de dados. Em circunstâncias nas quais você precise de grande capacidade de
processamento, a plataforma fornece a fl exibilidade necessária. Por exemplo, em
situações nas quais a demanda decrescer, os recursos alocados para elevar o
processamento são desativados (PASCUZZI, 2017).
Você pode ver um breve vídeo de demonstração da plataforma
Bridgera a partir deste endereço: .
Outra solução que pode ser adotada em ambientes IoT é utilizar a nuvem da
AWS. De acordo com a AWS, a plataforma garante a possibilidade de gerenciar
bilhões de dispositivos e executar análises e aplicar algoritmos de Machine
Learning de forma rápida, fácil e segura. Em seu portfólio, a AWS IoT oferece duas
soluções: uma voltada para o ramo industrial (IIoT) - com monitoramento e controle
de operações e outra para ambientes residenciais - com interconectividade e
segurança. Você também pode integrar aos outros serviços da AWS para criar
aplicações completas para Internet das Coisas. Os algoritmos de aprendizagem
ajudam a realizar predições nos dispositivos e, assim, reagir antecipadamente a
situações. Observe o esquema de funcionamento da AWS IoT na Figura 11. Na
primeira etapa existe uma coleção de dispositivos, tais como sensores, lâmpadas,
robôs etc., que estão conectados à nuvem e trocando mensagens. Os dados são
armazenados para que você aplique análises e algoritmos de Machine Learning
para extrair os devidos insights.
128
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
FIGURA 11 – AWS IOT: ESQUEMATIZAÇÃO DO FUNCIONAMENTO DA PLATAFORMA
FONTE: .Acesso em: 30 nov. 2018.
Em termos de aplicações, a Internet das Coisas pode ser utilizada em
diversos domínios, inclusive: cidades inteligentes, agricultura, saúde e bem-
estar, varejo inteligente e logística, conforme demonstrado por Simmhan e Perera
(2016) e que será delineado a seguir:
• Cidades inteligentes: há um grande interesse por parte de países
em desenvolvimento e populosos de melhorar a qualidade e a
sustentabilidade urbana. As cidades inteligentes implementam a Internet
das Coisas através de um conjunto de dispositivos implantados nos mais
diversos meios que as compõem, como transporte, energia e mobilidade.
Por exemplo, o transporte inteligente pode monitorar as condições de
tráfego em tempo real e tomar melhores decisões para otimizar o fl uxo do
trânsito. A administração do transporte público também poderá otimizar o
cronograma de ônibus e trens de acordo com a demanda dos usuários.
• Agricultura inteligente: a implantação de sensores em máquinas na
agricultura permite rastrear condições climáticas (umidade, temperatura,
luz solar) que afetam diretamente o solo e a produção. O monitoramento
também pode ser realizado com dados de imagens de satélite, bem
como modelos de previsão climática e cronograma de fornecimento de
energia, a fi m de planejar de forma inteligente a irrigação das culturas
agrícolas.
• Saúde e bem-estar: naturalmente, os esportes têm sido um dos casos
de uso de aplicação de Internet das Coisas devido à rápida imersão de
tecnologia. Sensores implantados nos jogadores permitem a extração de
dados, como localização, velocidade e aceleração a partir de diferentes
129
FUNDAMENTOS PARA INTEGRAÇÃO ANALÍTICA, TÓPICOS AVANÇADOS
E TENDÊNCIAS EM BIG DATA ANALYTICS
Capítulo 3
coordenadas (x, y, z). O fato de extrair dados detalhados de um jogador
pode trazer benefícios reais, como uma maior segurança quanto a lesões
sofridas durante o jogo ou questões relativas a seu desempenho. Além
disso, existem equipamentos para monitoramento de saúde e estilo de
vida, como relógios inteligentes. Estes podem rastrear o comportamento
das pessoas e as métricas básicas de saúde. Em uma eventual
discrepância, as pessoas recebem alertas. Sensores também podem
auxiliar na medicação dos pacientes, observando doses compatíveis e
apropriadas a cada um.
• Varejo inteligente e logística: no varejo, a necessidade de rastrear
a cadeia de suprimentos é importante - estoques, remessas e
comportamento dos clientes nas lojas. Sensores RFID podem ser
úteis, pois conseguem rastrear automaticamente os itens que entram e
saem da loja, bem como sua localização. Na logística, os parâmetros
velocidade e precisão são vitais. Por isso, o rastreamento inteligente de
prateleiras e corredores pode ajudar a mapear o comportamento dos
consumidores na tentativa de encontrar algum padrão.
Na próxima seção encerraremos esse capítulo comentando sobre as
tendências de Big Data Analytics, esperamos que você possa aproveitar bastante.
Antes, fi nalizaremos esta seção com uma atividade de estudo.
1 O que é a Internet das Coisas? Cite um exemplo prático.
R.: ____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
2 De que maneira as empresas podem se benefi ciar da análise de
Big Data em um cenário de Internet das Coisas?
R.: ____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
130
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
3 Cite alguns cenários de aplicações de Internet das Coisas. Tente
pesquisar outros exemplos pela internet.
R.: ____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
5 TENDÊNCIAS EM BIG DATA
ANALYTICS
Para fi nalizar este capítulo, reservamos uma seção para discutir algumas
tendências para o Big Data nos próximos anos. É importante que você tenha
em mente essas tendências e esteja preparado para lidar com novos cenários. A
construção desta seção foi inspirada nas tendências de Big Data apontadas por
Carillo (2018):
• Crescimento do uso de Internet das Coisas: na seção anterior já
havíamos comentado sobre a Internet das Coisas e as possibilidades
de aplicação. De fato, parece que novos dispositivos inteligentes
serão incorporados em nosso dia a dia. Os dispositivos móveis, como
celulares e tablets, poderão controlar diversos equipamentos e objetos
em um ambiente doméstico ou no nosso local de trabalho. Com base
nisso, muitas empresas tenderão a lançar novos produtos e soluções
voltados para atender à demanda “do mundo das coisas” em termos
de infraestrutura (para atender à demanda de comunicação entre os
dispositivos), hardware (dispositivos) e soluções comerciais (softwares).
Apenas na saúde, diversas Startups têm surgido para realizar
monitoramento em tempo real de pacientes para prevenção de doenças,
conforme mostra a Figura 12.
131
FUNDAMENTOS PARA INTEGRAÇÃO ANALÍTICA, TÓPICOS AVANÇADOS
E TENDÊNCIAS EM BIG DATA ANALYTICS
Capítulo 3
FIGURA 12 – CATEGORIAS DE STARTUPS VOLTADAS PARA A SAÚDE
FONTE: . Acesso em: 2 dez. 2018.
• Inteligência artifi cial mais acessível: uma tendência é a incorporação
da inteligência artifi cial não somente nos grandes, como também nos
pequenos negócios. Tarefas operacionais podem ser executadas e
automatizadas por máquinas enquanto humanos tenderão a focar
mais nas estratégias do negócio. Essa acessibilidade se dará de forma
transparente para o usuário. No Capítulo 1, você viu um exemplo de
que os nossos smartphones estão dotados de apps inteligentes que
monitoram os nossos passos (como o próprio GPS), o que pode parecer
uma tarefa simples e que já faz parte do nosso cotidiano. Entretanto, a
incorporação de um mecanismo de IA poderá aprender a nossa rotina
e fornecer sugestões úteis de rotas. Do mesmo modo, em pequenos
negócios, apps inteligentes podem aprender a rotina ou o fl uxo de
trabalho da empresa e assim fornecer apoio aos processos da empresa.
O site da revista EXAME apresentou alguns exemplos de apps que
podem ser úteis para pequenos negócios: . O
baixo custo (ou custo zero) desses apps é algo que pode ser atrativo
para pequenos negócios que possuem um orçamento mais enxuto.
132
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
• Análise preditiva mais presente: esse tópico não poderia fi car de
fora. Como vimos no primeiro capítulo deste livro, as empresas têm
encontrado real valor em análises preditivas e de fato isso será uma
tendência acompanhada de uma perspectiva crescente do uso de IA
nos negócios. Na realidade, a presença da análise preditiva também se
dará de forma na qual usuários não especialistas terão a sua disposição
métodos e processos de Machine Learning e poderão interagir com
estes sem ter um conhecimento técnico aprofundado de implementação,
o que, portanto, reduz a complexidade de utilização. Isso tem a ver com
um conceito chamado de AutoML. Caso você queira conhecer mais,
sugerimos que pesquise no link a seguir.
Você pode encontrar mais informações sobre AutoML
diretamente em sua página ofi cial: .
Além do conceito, são apresentados algunsexemplos e bibliotecas
que implementam o AutoML, assim como outras informações
pertinentes.
• Migração de Dark Data para a nuvem: a nuvem poderá ser útil para
armazenar dados que não foram explorados, mas que por questões
de conformidade ou potencial de exploração permanecem em algumas
empresas. Esses Dark Data (“dados escuros”) estão armazenados
em anotações ou apresentações e são difíceis de explorar, mas que,
se convertidos para um formato digital, podem ser úteis para futuras
análises nas empresas.
Caso você ainda não esteja familiarizado com o conceito de Dark
Data, sugerimos este link: .
133
FUNDAMENTOS PARA INTEGRAÇÃO ANALÍTICA, TÓPICOS AVANÇADOS
E TENDÊNCIAS EM BIG DATA ANALYTICS
Capítulo 3
• Aumento da importância do CDO (Chief Data Offi cer): com uma
cultura onde as decisões são cada vez mais orientadas a dados, o CDO
terá maiores responsabilidades estratégicas nas empresas, assumindo
papel central e crítico no apoio à tomada de decisões do negócio. A
Figura 13 apresenta uma tendência no que se refere ao papel de um
CDO nas empresas. Perceba que o CDO terá como maior parcela de
responsabilidade (algo em torno de 90%) concentrar seus esforços em
gerenciar os dados como um ativo na empresa, conduzir inovação e
promover uma cultura orientada a dados.
FIGURA 13 – PERSPECTIVAS DE RESPONSABILIDADE
DE UM CDO (CHIEF DATA OFFICER)
FONTE: . Acesso em: 2 dez. 2018.
• Computação Quântica: com o crescimento das tecnologias e a
incorporação de novos dispositivos impulsionando a Internet das Coisas,
o volume de dados digital crescerá ainda mais nos próximos anos. Os
computadores atuais não têm a capacidade para armazenar e processar
de forma efi ciente esse volume de dados. Os computadores quânticos
podem agilizar sobremaneira o processo de análise e processamento.
134
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
Para saber mais sobre a computação quântica, acesse o link:
.
• Segurança cibernética mais inteligente e rigorosa: os escândalos
do passado revelam uma grande preocupação com a segurança dos
dados dentro da empresa. A tendência é que com o advento da Internet
das Coisas e o aumento da complexidade da infraestrutura de rede,
mais dados importantes possam fi car suscetíveis a ataques. A guerra
cibernética ou mesmo comercial entre as empresas pode motivar roubos
a dados. Assim, o Big Data pode ser útil para integrar uma estratégia
para segurança cibernética ao utilizar, por exemplo, dados históricos de
logs de segurança para prever possíveis ataques, ou monitorar dados
em tempo real para identifi car atividades suspeitas.
• Soluções open-source em alta: as soluções open-source continuarão
em alta nos próximos anos. Assim, profi ssionais que dominam
ferramentas voltadas para o Big Data, tendem a ser valorizados. Na
verdade, trabalhar com soluções open-source tem suas vantagens e
desvantagens. Independente disso, existe um controle maior quando
você constrói sua própria arquitetura e utiliza software de código aberto.
Além disso, o que talvez seja mais atrativo para algumas empresas em
apostar em soluções open-source é a possibilidade de poupar recursos
e o fato de que as ferramentas, especialmente voltadas para o Big Data,
têm se aprimorado cada vez mais, através de uma comunidade engajada
que tem proposto melhorias contínuas para otimizá-las.
• Edge Computing (Computação de “borda”): esse termo pode parecer
novo para você. A ideia é processar dados na borda da rede (próximo
à fonte de dados) e fi ltrar a quantidade de dados que chega na nuvem
e, como consequência, agilizar o tempo de processamento do fl uxo
de dados, conforme ilustra a Figura 14. Os dados coletados a partir
dos dispositivos são imediatamente analisados localmente, fi ltrados e,
posteriormente, são entregues à nuvem. Isso implica melhoria no tráfego
da rede, melhorando o processamento e fi ltrando dados que realmente
sejam relevantes para a empresa.
135
FUNDAMENTOS PARA INTEGRAÇÃO ANALÍTICA, TÓPICOS AVANÇADOS
E TENDÊNCIAS EM BIG DATA ANALYTICS
Capítulo 3
FIGURA 14 – UM ESQUEMA QUE ILUSTRA A COMPUTAÇÃO DE BORDA
FONTE: . Acesso em: 2 dez. 2018.
Recomendamos que você se aprofunde mais em Edge Computing.
Indicamos esse link da GE: , que não apenas mostra a defi nição como também compara
com outros modelos (Fog e nuvem), exibe alguns exemplos e cita um
case da própria GE utilizando essa abordagem nos seus negócios.
• Chatbots mais inteligentes: parece que aqueles robôs de atendimento
que observamos nos websites representam uma tendência para o futuro.
Os chatbots estão sendo cada vez mais aprimorados e se tornando
mais independentes. Quanto mais dados os bots possuírem, maior
é a possibilidade de compreenderem a comunicação humana e assim
oferecerem serviços mais personalizados, que realmente atendam às
necessidades dos clientes.
Não há dúvida de que essas tendências apontadas por Carillo (2018) retratam
em grande parte como as tecnologias conduzirão as decisões de negócios no
futuro. É importante que você, como profi ssional, esteja preparado e possa
acompanhar essas evoluções. A qualifi cação é essencial para que você esteja
dentro de um mercado cada vez mais tecnológico e competitivo. Explore todas
as sugestões aqui mencionadas, pesquise e pratique as atividades. Aliás, que tal
praticar uma atividade antes do término desta seção?
136
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
1 Observando algumas tendências de Big Data apontadas nessa
seção, como você destacaria a presença mais incisiva da
aprendizagem de máquina como apoio à tomada de decisões no
futuro?
R.: ____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
ALGUMAS CONSIDERAÇÕES
Finalmente chegamos ao fi nal de mais um capítulo de muito aprendizado.
Na primeira seção você aprendeu sobre integração, especialmente com foco em
ETL e suas limitações quanto à abordagem tradicional de BI. Conheceu o ELT e
o Data Lake e como estes podem ser úteis para suas integrações em Big Data.
Aliás, antes mesmo de terminar essa seção, mostramos a você possibilidades de
integração via Hadoop e sugerimos alguns links úteis para você praticar e fi car
mais confortável com os conceitos que foram apresentados.
Em seguida, foi reservada uma seção exclusiva para o Apache Spark, em
que você conheceu conceitos importantes, bem como os componentes principais
do Spark, cada um com suas particularidades, mas que também existe a
possibilidade de integrá-los em uma situação prática. Você deve ter se habituado
aos códigos que foram apresentados e experimentado alguns recursos que o
Spark oferece em cada um desses componentes. Ao fi nal, também apresentamos
alguns casos de uso e aplicações do Spark.
Ainda em tópicos avançados, você aprendeu conceitos e aplicações de
Internet da Coisas e percebeu que algumas empresas já propõem soluções de
infraestrutura e software para quem deseja trabalhar com esse tipo de ambiente.
As aplicações foram importantes para que você compreendesse a proporção de
alcance da Internet das Coisas.
Por fi m, fi nalizamos o capítulo mostrando a você as tendências de Big Data
para que você se habitue, inclusive a novas abordagens que estão surgindo,
137
FUNDAMENTOS PARA INTEGRAÇÃO ANALÍTICA, TÓPICOS AVANÇADOS
E TENDÊNCIASEM BIG DATA ANALYTICS
Capítulo 3
especialmente em cenários de Internet das Coisas. Recorde sempre que a
evolução dessas tecnologias impõe, muitas vezes, formas diferentes para lidar
com o problema e, assim, precisamos ser profi ssionais fl exíveis ou adaptáveis
para aprender ou sugerir novas abordagens. As nossas decisões de análise
impactam diretamente a efi cácia da tomada de decisões. Ficamos felizes por você
ter chegado até aqui. Desejamos sucesso na sua carreira profi ssional.
REFERÊNCIAS
AMSTER, A. Top Apache Spark Use Cases. 2016. Disponível em: . Acesso em: 28 nov. 2018.
APACHE SPARK. O Apache Spark é um mecanismo de análise unifi cada
para processamento de dados em grande escala. 2018. Disponível em:
. Acesso em: 26 nov. 2018.
AWS. AWS IoT. [s.d]. Disponível em: . Acesso
em: 30 nov. 2018.
CARILLO, D. 10 Big Data Trends You Should Know. 2018. Disponível em:
. Acesso em: 30
nov. 2018.
DATAMEER. Big Data Analytics and the Internet of Things. Internet of Things
E-book, p. 1-10, 2015.
PASCUZZI, R. The IoT Platform behind Bridgera IoT. 2017. Disponível em:
. Acesso em: 30 nov. 2018.
QIN. Y., SHENG, Q. Z. Pattern Matching Over Linked Data Streams. Springer
International Publishing, p. 409-427, 2017.
SIMMHAN, Y., PERERA, S. Big Data Analytics Platforms for Real-Time
Applications in IoT. Big Data Analytics Springer, p. 115-135, 2016.
TAURION, C. Big Data e o Data Lake. 2014. Disponível em: . Acesso em: 21 nov. 2018.
ZAHARIA, M. et al. Spark: Cluster Computing with Working Sets. HotCloud’10
Proceedings of the 2nd USENIX conference on Hot topics in cloud
computing, p. 10, 2010.entre si, testar ou refutar hipóteses, anexar novos conjuntos de
dados para enriquecer a análise, pelo menos alguma linguagem de programação
ou ferramenta para análise de dados e construção de visualizações para que o
dado seja transmitido de forma mais clara e objetiva aos tomadores de decisão.
Assim, é importante que você compreenda que a análise de dados é um
processo constituído por pelo menos quatro etapas bem defi nidas, conforme
mostrado na Figura 2, e que serão delineadas a seguir. Apesar de todas elas
estarem dispostas em sequência, isso não signifi ca necessariamente que todas
devam ser executadas. Isso porque tudo dependerá do escopo do projeto que você
trabalhará. Por outro lado, estas etapas são altamente dependentes, não sendo
recomendado, portanto, pular etapas e/ou ignorar importantes subprocessos
que as compõem. Por exemplo, começar diretamente a etapa preditiva sem
antes conhecer a fundo os dados - como eles estão distribuídos ou se algum
fenômeno causou discrepância em um intervalo de tempo. Faria algum sentido
desconsiderar isso? Se você não conhece seus dados, a máquina muito menos.
Em outras palavras, o mínimo que você fará é consultar e selecionar informações
que realmente possam ser relevantes para dar prosseguimento a sua análise.
Desse modo, considere sempre explorar com profundidade cada uma das etapas
anteriores. O processo de análise de dados pode ser defi nido em quatro etapas:
análise descritiva, diagnóstica, preditiva e prescritiva.
FIGURA 2 – ANÁLISE DESCRITIVA, DIAGNÓSTICA, PREDITIVA E PRESCRITIVA
FONTE: . Acesso em: 15 nov. 2018.
julia
Realce
julia
Realce
julia
Realce
17
COMPREENDENDO A ANÁLISE DE INFORMAÇÃO
NO CONTEXTO DE BIG DATA
Capítulo 1
2.1.1 ETAPA 1: ANáLiSE DESCriTiVA
A análise descritiva diz respeito à primeira etapa do processo de análise de
dados, é o momento em que estamos interessados em saber “o que aconteceu”
ou “o que está acontecendo”, ou seja, fatos do passado são utilizados para que
compreendamos o cenário e tomemos as decisões no presente. Dessa maneira,
essa etapa possui um alto grau de dependência humana para compreender e
avaliar as variáveis em questão na tentativa de encontrar inconsistências.
Normalmente, a utilização deste tipo de análise é feita em pequenos
projetos ou alguma análise ad-hoc, um tipo de análise que visa atender a um
determinado propósito em um intervalo de tempo específi co. Por exemplo, o
gestor da empresa está interessado em saber qual cliente mais comprou na loja
nos últimos dois meses. De posse dessa informação, ele poderá decidir os top-n
em um grupo seleto de clientes, que passarão a ter direito a descontos especiais
em lançamentos de produtos na loja. Dependendo da modelagem do sistema,
implementando medidas estatísticas básicas, como a moda, seria o sufi ciente para
solucionar esse problema ou uma contagem simples de ocorrência de compras.
Observe que situações que envolvam análises descritivas, técnicas ou medidas
básicas podem auxiliar gestores e o próprio analista de dados ou de negócios a
extrair insights úteis no dia a dia.
Assim, é comum que nessa etapa medidas como: médias, medianas,
variância, desvio padrão, frequência cumulativa, bem como visualizações que
utilizam gráfi cos em barras ou em linhas, gráfi cos de dispersão ou de pizza, não
resumidos a estes, sejam comumente exploradas.
2.1.2 ETAPA 2: ANáLiSE DiAGNÓSTiCA
A análise diagnóstica está interessada em saber o porquê das coisas, isto é,
o motivo pelo qual determinados eventos aconteceram na tentativa de encontrar
pistas que possam sinalizar tendências de ocorrência e assim tomar medidas
práticas para minimizar eventuais problemas que possam surgir. Da mesma
maneira que a etapa anterior, a análise diagnóstica está preocupada com dados
do passado para que ações sejam tomadas no presente.
Por exemplo, para alocar produtos na prateleira de um supermercado, o
analista aplica técnicas de mineração de dados para tentar encontrar padrões
de consumo, eleger os produtos mais consumidos e, com base nos resultados,
propor ao gerente a alocação de produtos em prateleiras mais acessíveis ao
consumidor.
18
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
Algoritmos de associação podem ser aplicados sobre os dados históricos
para identifi car regras e encontrar padrões associativos entre os elementos.
Além das técnicas de mineração de dados e ferramentas voltadas para atender
às demandas de negócio, também pode ser utilizada a análise multidimensional,
bem explorada em cenários de Business Intelligence. Essa análise permite que
gestores obtenham insights sob diferentes perspectivas e em altos (Drill Up) ou
baixos níveis de granularidade (Drill Down).
Adicionalmente, percebe-se que nessa etapa ocorre um gradual decréscimo
da ação humana e, consequentemente, os algoritmos passam a ter mais
independência para descrever o cenário da empresa com base nos dados.
2.1.3 ETAPA 3: ANáLiSE PrEDiTiVA
A análise preditiva representa um avanço signifi cativo no processo de análise
de dados. Nesse momento, o cientista de dados ganha destaque, especialmente
por ser o responsável por construir modelos preditivos que possam ter autonomia
para classifi car conjuntos de dados com base na aprendizagem obtida a respeito
destes. Quando trabalhamos com modelos preditivos, estamos interessados em
responder à pergunta: “o que (provavelmente) acontecerá?”. De fato, isso está
diretamente relacionado ao contexto de aprendizado de máquina, o que signifi ca
que a ação humana é cada vez menor e o algoritmo progressivamente vai se
aprimorando e aprendendo mais a respeito dos padrões históricos contidos nos
dados.
Por isso, é essencial que, antes de aplicar técnicas e algoritmos de Machine
Learning, sejam identifi cados os dados que servirão de input para o modelo que
será construído. Algumas técnicas de Machine Learning se destacam, como:
Árvores de Decisão, Florestas Aleatórias (Random Forest), Redes Neurais,
Support Vector Machines (SVM), K-Nearest Neighbor (KNN), entre outras.
Por exemplo, uma empresa de crédito talvez esteja interessada em saber
se houve alguma compra suspeita com o número do cartão de crédito de seus
clientes. O rastreio pode se dar em um nível no qual o resultado obtido seja um
alerta à empresa e ao cliente informando a respeito da atividade suspeita. Nesse
caso, a variável valor de compra pode ser utilizada para rastrear essa questão.
Por exemplo, se o valor de compra for extremamente maior em relação a outras
atividades de compra do consumidor. É lógico que esse é um modelo simplifi cado,
mas didaticamente viável. Por fi m, um modelo de classifi cação poderia discriminar
a atividade de compra como normal ou anômala.
19
COMPREENDENDO A ANÁLISE DE INFORMAÇÃO
NO CONTEXTO DE BIG DATA
Capítulo 1
2.1.4 ETAPA 4: ANáLiSE PrESCriTiVA
A etapa de análise prescritiva é a mais complexa, porém, a que acrescenta
mais valor para a organização e fornece suporte à decisão de forma automatizada.
Nesse momento, a máquina consegue aprender com as experiências nas
previsões e a ação humana é mínima ou nula. Técnicas analíticas avançadas
podem ser utilizadas para fi ns de otimização, sendo capazes de responder
à pergunta: “o que devo fazer?” e assim mostrar às organizações as ações
necessárias na tomada de decisão.
Obviamente que, para chegar até aqui, é necessário um elevado nível de
maturidade nos processos de análise anteriores, por isso que na maioria das
vezes ou quase sempre, a implementação desse tipo de análise é feita por
grandes corporações. Algumas técnicas que são utilizadas na etapa prescritiva
são: simulações, redes neurais convolucionais, heurísticas, processamento de
eventos complexos, entre outras.
Um exemplo que retrata a análise prescritiva são os carros ou os caminhões
autônomos (inteligentes). Modelos construídos paraesse fi m apresentam um
alto nível de robustez e utilizam como referência dados históricos e previsões
anteriores para decidirem a melhor rota e assim aperfeiçoar suas tarefas com
base na experiência.
2.2 ANÁLISE AVANÇADA DE DADOS
O Grupo Gartner (2017) defi ne o conceito de Advanced Analytics como um
processo de observação autônomo ou semiautônomo de dados ou conteúdo por
intermédio de técnicas e ferramentas sofi sticadas, normalmente além daquelas de
Inteligência de Negócios (BI) tradicional para descobrir insights mais profundos,
realizar previsões ou gerar recomendações de produtos ou serviços. Além disso,
compreende técnicas analíticas avançadas, como mineração e dados/textos,
aprendizado de máquina, correspondência de padrões, virtualização, análise
semântica, de sentimento, de rede e em cluster, estatística multivariada, análise
de gráfi cos, simulação, processamento de eventos complexos e redes neurais.
Algumas dessas técnicas variam em complexidade e, consequentemente, em
tempo de implementação.
Modelos analíticos avançados apontam para um elevado nível de maturidade
e sugerem que a empresa já possua uma grande quantidade de dados. Mais do
que isso, pode ser que o desempenho das análises esteja sendo afetado, novas
20
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
estruturas de dados vêm sendo incorporadas e quando a infraestrutura básica,
anteriormente construída para atender à demanda da análise de dados, não
esteja mais suportando o fl uxo. A potencialização do seu uso está diretamente
relacionada ao advento do Big Data e das necessidades atuais de negócio.
1 Cite um exemplo de “casa inteligente” e explique como a análise
de dados pode melhorar nossa rotina automatizando tarefas
cotidianas.
R.: ____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
2 O processo de análise pode ser dividido em etapas. Cite e explique
cada uma delas.
R.: ____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
21
COMPREENDENDO A ANÁLISE DE INFORMAÇÃO
NO CONTEXTO DE BIG DATA
Capítulo 1
2.3 VISÃO GERAL DO BIG DATA
Nas seções anteriores, exploramos um contexto histórico e apresentamos os
tipos de análise de dados que estão sendo aplicados em diferentes segmentos
empresariais. Acontece que a abordagem tradicional de análise de dados possui
algumas limitações que merecem a nossa atenção. Antes de mais nada, é
importante frisar que o conceito de Big Data ainda não é bem defi nido. Entretanto,
existem algumas defi nições que fazem todo sentido, entre estas, cabe mencionar
que:
O Big Data pode ser introduzido como uma combinação
de tecnologias novas e antigas que ajudam empresas a
conseguirem ideias viáveis. Portanto, Big Data é a capacidade
de administrar um volume enorme de dados diferentes na
velocidade certa e dentro do prazo certo para permitir análises
e reações em tempo real (HURWITZ et al., 2016, p. 15-16).
Adicionalmente, Gartner (2018, s.p.) defi ne o Big Data como “um grande
volume de informações, com alta velocidade e/ou ativos de informações de
alta variedade que exige formas inovadoras e econômicas de processamento
de informações que permitem uma melhor percepção na tomada de decisão e
automação de processos”.
Notamos que, em ambos conceitos, existem termos em comum que
precisamos considerar: volume, velocidade e variedade. De fato, esses termos
podem ser utilizados para compreender melhor o que de fato é o Big Data.
Considere que você esteja trabalhando em um projeto de análise consolidado. Em
um determinado momento você nota que seja viável trabalhar com informações de
outros ambientes para enriquecer sua análise, tais como: informações de redes
sociais, ou blogues, ou informações não estruturadas armazenadas em arquivos
de texto, ou até de Bancos de Dados não Relacionais.
Diante disso, você extrai essas informações de diferentes fontes, mas
percebe que não tem hardware necessário para armazená-las, tampouco uma
infraestrutura que possa processar toda essa informação em tempo hábil. De fato,
estamos em uma realidade que foge do escopo da análise de dados tradicionais.
As questões relativas a desempenho até podiam ser consideradas anteriormente.
Entretanto, nesse atual momento, essa questão assume um papel central, ou
seja, para prosseguir com suas análises, você precisa, necessariamente, adquirir
um servidor ou um espaço de armazenamento em nuvem para suportar o volume
de dados ou considerar uma infraestrutura que suporte computação paralela.
Os sistemas tradicionais de análise de dados muitas vezes não suportam
estruturas de dados com formatos e tamanhos diversifi cados. Assim, você
22
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
precisará também garantir que a infraestrutura seja capaz de suportar
essa diversidade de dados. Por fi m, uma vez que você consiga
armazenar uma grande quantidade de dados de múltiplas fontes, é
fundamental que você se certifi que de que os dados estão sendo
processados em um adequado intervalo de tempo.
Observe que quando falávamos em análise de dados tradicional
não comentamos os pontos mencionados sobre os Vs de Big Data,
porque estamos exatamente em uma transição entre esse tipo de
análise e o Big Data. Assim, podemos concluir que estamos diante
do Big Data quando percebemos que as análises, tradicionalmente
aplicadas, não estão mais suportando o volume, a velocidade e a
variedade dos dados que estão chegando e, como consequência disso,
é necessário examinar novas estratégias para suportar esse “mar de
dados”, sem comprometer nossas análises. Obviamente, a análise
de dados tradicional e o Big Data estão longe de serem abordagens
antagônicas, pelo contrário, complementam-se e são fundamentais
para que as empresas mantenham elevado poder analítico e, como
consequência, sejam competitivas no mercado contemporâneo.
Erroneamente, algumas pessoas conceituam Big Data como
uma ferramenta. Entretanto, como mostramos, Big Data não se
resume apenas a uma ou mais ferramentas. Big Data é um conceito,
compreendido de forma simplifi cada. Em função dos 3Vs mencionados
- volume, velocidade e variedade -, existem abordagens que ampliam o
conceito para 4, 5, 6 e até 7Vs. Independentemente disso, é importante
que você compreenda que, nestes casos, não existe um conceito certo
ou errado. Lembre-se de que o conceito de Big Data ainda está em
formação. Desta maneira, para este livro optamos pela abordagem
baseada em 5Vs, conforme mostra a Figura 3. Essa abordagem é
amplamente utilizada e compreende: Volume, Velocidade, Variedade,
Veracidade e Valor. Vamos delinear cada uma dessas etapas.
Estamos diante do
Big Data quando
percebemos
que as análises,
tradicionalmente
aplicadas, não estão
mais suportando
o volume, a
velocidade e a
variedade dos
dados que estão
chegando e, como
consequência
disso, é necessário
examinar novas
estratégias para
suportar esse
“mar de dados”,
sem comprometer
nossas análises.
Obviamente, a
análisede dados
tradicional e o Big
Data estão longe de
serem abordagens
antagônicas,
pelo contrário,
complementam-
se e são
fundamentais para
que as empresas
mantenham elevado
poder analítico e,
como consequência,
sejam competitivas
no mercado
contemporâneo.
23
COMPREENDENDO A ANÁLISE DE INFORMAÇÃO
NO CONTEXTO DE BIG DATA
Capítulo 1
FIGURA 3 – 5Vs: VOLUME, VELOCIDADE, VARIEDADE, VERACIDADE E VALOR
FONTE: . Acesso em: 15 nov. 2018.
• Volume: diz respeito à quantidade de dados - com tamanhos na ordem
de peta, hepta ou exabytes sendo gerados e que, uma vez extraídos,
deverão ser suportados na arquitetura de Big Data. Isso quer dizer
que o quesito escalabilidade precisa ser pensado no início de uma
implementação do Big Data.
• Variedade: dados estruturados, semiestruturados ou não estruturados
estão espalhados no meio digital. Eventualmente, desejamos
incrementar em nossas análises informações obtidas de websites (neste
caso, certifi que-se de ser autorizado para fazer isso). A ferramenta de
coleta precisa “raspar” os dados (ou realizar Web Scrapping) que serão
obtidos em um formato de tags e texto. Talvez estejamos interessados
em informações de um Banco de Dados não transacional que armazena
as informações em formato JSON, ou dados de redes sociais, como
Twitter ou Facebook. Enfi m, a arquitetura de Big Data precisa ser robusta
o sufi ciente para lidar com essa diversidade de formatos e estruturas,
tendo como desafi o tornar a tarefa de integração e extração de dados o
mais transparente possível.
• Velocidade: está relacionada a questões de desempenho. O
processamento dos dados precisa ser efi ciente a ponto de não
24
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
causar altas taxas de latência no fl uxo de dados. O sucesso de uma
implementação do Big Data também está relacionado a entregar
respostas em tempo hábil e, por isso, estratégias (por exemplo, cache dos
dados) podem ser adotadas para otimizar o desempenho. É importante
considerar também qual o foco da análise, isto é, se o processamento
será em lote (batch) ou em tempo real, ou ambos (arquitetura Lambda).
Essa questão é um importante requisito de negócio, pois quando
lidamos com processamento em lote são alocados maiores recursos de
armazenamentos em detrimento ao processamento em tempo real.
• Veracidade: precisamos confi ar nos dados adquiridos e a veracidade
está relacionada à inconsistência, à ambiguidade e à incompletude
desses dados. Quando anexamos fontes de dados externas à nossa
arquitetura, precisamos ter um cuidado especial, uma vez que não temos
total controle desses dados, como teríamos se estivéssemos coletando
dados de sistemas legados da empresa. Por isso, devemos sempre
questionar os dados que adquirimos e garantir que a origem da nossa
arquitetura não seja comprometida com dados que possam enviesar ou
distorcer nossas análises. Assim, a veracidade desempenha um papel
importante dentro do Big Data.
• Valor: o verdadeiro sentido do Big Data é na geração de valor para a
organização. De nada adianta elevados investimentos em qualifi cações
dos profi ssionais, aquisição de soluções proprietárias, entre outros
recursos, se os resultados obtidos não agregam valor e a organização
apenas extrai informações desconexas que não agregam novos
conhecimentos. Essa frustação certamente poderia colocar em risco o
andamento de todo o processo de Big Data. Na verdade, a obtenção
do real valor pode trazer para a empresa uma consequência de todo o
processo de Big Data. Contudo, quando pensamos em termos-chave
para compor o conceito de Big Data, faz todo sentido acrescentar o valor
resultante que queremos obter em um processo de Big Data.
Além destes aspectos, algumas outras keywords também podem ser
incorporadas ao conceito de Big Data, como a Variabilidade e a Visualização. A
primeira está relacionada à rastreabilidade dos dados, ou seja, verifi car o quanto
o signifi cado dos dados vem se modifi cando ao longo do tempo, enquanto que
a segunda corresponde à etapa de apresentação dos dados em um formato
amigável para o usuário, ou seja, queremos nos certifi car que os resultados das
nossas análises de Big Data estão prontos para serem consumidos por usuários
com facilidade e transparência.
25
COMPREENDENDO A ANÁLISE DE INFORMAÇÃO
NO CONTEXTO DE BIG DATA
Capítulo 1
Antes de entrarmos em uma discussão mais profunda a respeito de Big Data,
é importante que você esteja habituado com alguns conceitos introdutórios, porém
relevantes, e que também servirão de base para todo o conteúdo deste livro. Por
essa razão, reservamos a próxima seção para discutirmos um pouco isso.
1 Descreva o conceito de Big Data.
R.: ____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
2 Análise de dados tradicional e análise em Big Data são a mesma
coisa? Justifi que sua resposta.
R.: ____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
3 BIG DATA: CONCEITOS ÚTEIS
Nesta seção, exploraremos alguns conceitos necessários para a
compreensão das etapas seguintes do ecossistema Big Data. Neste sentido, serão
apresentados conceitos e diferenças entre dados estruturados, semiestruturados
e não estruturados, bem como comentaremos tipos de Bancos de Dados não
Relacionais existentes, apresentando as ferramentas que os compõem e que
podem ser anexadas no seu projeto. Por fi m, encerraremos a seção comentando
diferenças entre processamento em lote (batch) e em tempo real, realçando suas
particularidades, vantagens e desvantagens.
26
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
3.1 DADOS ESTRUTURADOS,
SEMIESTRUTURADOS E NÃO
ESTRUTURADOS
Como vimos, a disseminação de dados refl ete em uma nova Era da
Informação na qual vivemos. Esses dados podem estar em um formato pronto para
análise, como é o caso dos dados estruturados contidos em planilha ou em um
Banco de Dados Relacional. Contudo, na prática não é algo que sempre acontece,
especialmente em tempos de Big Data. Por conseguinte, é imprescindível que
compreendamos as diferenças entre dados estruturados, semiestruturados e não
estruturados, tão presentes nos dias de hoje, conforme mostra a Figura 4. Lidar
com diferentes estruturas de dados é algo comum na era Big Data.
FIGURA 4 – ESTRUTURAS DE DADOS NA ERA BIG DATA
FONTE: . Acesso em: 16 nov. 2018.
Os dados estruturados compreendem apenas uma pequena parcela dos
dados que estão sendo analisados no mundo. Esse formato é representado por
linhas e colunas e estão armazenados em Bancos de Dados Relacionais ou
planilhas eletrônicas, tais como: Oracle, Excel, MySQL, entre outros. Algumas
características dessas estruturas são a facilidade de acesso e manipulação, além
de um esquema de armazenamento e organização bem defi nido. Isso quer dizer
que podemos obter respostas rápidas para alguns tipos de perguntas ao realizar
uma simples consulta em um banco de dados. Para exemplifi car, podemos extrair
a média de idade dos alunos com sexo masculino do Ensino Médio considerando
uma determinada escola com um simples SQL e utilizando campos estruturados,
como idade, sexo, escolaridade e escola.
No que se refere a dados semiestruturados, estes normalmente estão
espalhados pela Web em arquivos HTML,XML ou em Banco de Dados não
27
COMPREENDENDO A ANÁLISE DE INFORMAÇÃO
NO CONTEXTO DE BIG DATA
Capítulo 1
Relacionais, como o MongoDB, que possui uma estrutura semelhante a um
arquivo JSON. Se pensarmos em um arquivo XML ou HTML, perceberemos
que existe uma diferença nesses tipos de estruturas: a hierarquia ou a estrutura
em árvore. As tags ou elementos possuem uma certa organização e qualifi cam
os documentos. Os nós apresentam uma certa fl exibilidade e não contêm uma
representação fi xa ou rígida como em um modelo estruturado, ao contrário,
alguns campos (tags) podem conter descrições ou informações textuais, por
exemplo, páginas web (como HTML e CSS), campos de e-mail, informações de
redes sociais etc. Além disso, quando trabalhamos com projetos de Web Scraping,
normalmente nos deparamos com esse tipo de estrutura.
Cerca de 80% dos dados existentes que estão sendo difundidos não possuem
estrutura bem defi nida, ou seja, são não estruturados ou desestruturados. Por
exemplo: arquivos textuais, vídeos, imagens, dados de sensores, mensagens em
formulários ou em campos de e-mails, posts no Facebook ou Twitter, arquivos de
áudio e assim por diante. São infi nidades de fontes diferentes que contêm dados
não estruturados. Uma simples pesquisa no Google, uma conversa no WhatsApp,
uma chamada de vídeo pelo Skype. A verdade é que estamos mergulhados em
uma quantidade de informação desestruturada que poderia ser perfeitamente
analisada. Entretanto, há um aumento de complexidade para analisar esse tipo de
dado. Dados textuais estão sujeitos a problemas de erros sintáticos ou semânticos
provenientes da linguagem natural, isso poderia inviabilizar todo o processo de
análise. Felizmente, existem técnicas específi cas para esse fi m e, além de realizar
o tratamento adequado, podemos converter os dados não estruturados em um
formato estruturado e assim dar continuidade ao processo de análise a partir de
uma única visão sobre os dados.
Antigamente, incorporar informações não estruturadas ao processo de análise
era algo extremamente custoso ou muitas vezes inviável. Então, as empresas
direcionavam suas decisões apenas a uma pequena parcela das informações que
possuía. Todavia, essa fronteira para integração dos dados progressivamente foi
se rompendo ao longo do tempo, especialmente com o surgimento do Big Data.
Por isso, é imprescindível que compreendamos essas diferenças e não limitemos
nossas análises. O tipo de estrutura de dados que vamos manipular precisa ser
indiferente para nós, precisamos focar nas estratégias e posteriormente nas
análises para implementarmos com sucesso e extrairmos valor nas análises de
Big Data.
28
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
3.2 BANCOS DE DADOS NÃO
RELACIONAIS
Os Bancos de Dados não Relacionais surgiram no fi nal do século
passado, mas começaram a ganhar destaque também com o advento do Big
Data. Observe que mais uma tecnologia emergiu a partir do conceito de Big
Data. No passado, tarefas analíticas eram realizadas em cima de armazém de
dados (Data Warehouse) que era um banco, à parte de um SGBD (para não
concorrer recursos), que armazenava informações estruturadas em um formato
multidimensional para agilizar consultas. Outra alternativa mais simplifi cada
era baseada em cubos multidimensionais que permitiam aos gestores analisar
informações e extrair insights sob diferentes perspectivas.
Com o passar dos anos, diante do expressivo aumento no volume e
variedade dos dados, recursos computacionais mais robustos eram requeridos.
Neste caso, surgiam duas alternativas para resolver o problema: uma seria
alocar mais investimentos em infraestrutura física, outra seria utilizar um Banco
de Dados que pudesse armazenar dados em um formato adequado para rápida
consulta e análise. Não é de se admirar que muitas empresas optaram pelo uso
de Banco de Dados não Relacional. Afi nal, ele compreendia exatamente essas
vantagens mencionadas: agilidade na busca de respostas, elevada capacidade
de armazenamento e, mais além, capacidade de trabalhar com dados não
estruturados.
Os Bancos de Dados não Relacionais são também conhecidos como
NoSQL. Não caia na tentação de concluir pela nomenclatura de que esses
bancos surgiram como concorrentes da linguagem SQL ou não incentivam mais
o uso dessa linguagem. Ao contrário, NoSQL signifi ca (Not Only SQL)
ou não somente SQL, isto é, Bancos de Bados NoSQL surgiram como
uma alternativa para armazenamento de dados com a fi nalidade de
oferecer uma solução mais robusta e escalável para suportar grandes
volumes de dados.
No entanto, em Bancos de Dados não Relacionais não existe uma
maneira única de armazenar um conjunto de dados. Assim, eles podem
ser classifi cados em quatro tipos: banco de dados chave-valor (key-
value), orientado a documentos (document store), orientado a famílias
de colunas (column-family stores) e os que são baseados em grafos
(graph-databases). A Figura 5 ilustra os tipos de Bancos de Dados não
Relacionais e a seguir explicaremos cada um deles.
NoSQL surgiram
como uma
alternativa para
armazenamento
de dados com
a fi nalidade de
oferecer uma
solução mais
robusta e escalável
para suportar
grandes volumes de
dados.
29
COMPREENDENDO A ANÁLISE DE INFORMAÇÃO
NO CONTEXTO DE BIG DATA
Capítulo 1
FIGURA 5 – À ESQUERDA SÃO APRESENTADOS FORMATOS DOS
BANCOS DE DADOS RELACIONAIS BASEADOS EM SQL. À DIREITA
OS QUATRO TIPOS DE BANCOS DE DADOS NÃO RELACIONAIS
FONTE: . Acesso em: 15 nov. 2018.
• Banco de dados chave-valor: você talvez já tenha tido algum contato
com esse tipo de estrutura quando programou em Java ou Python, por
exemplo. A compreensão é simples: para toda chave existe um valor
vinculado. Para ilustrar, talvez você tenha observado que na biblioteca,
há estantes numeradas que armazenam um conjunto de livros. Se você
precisar consultar alguma informação de um livro específi co, você abre a
gaveta ou o localiza na estante por meio de uma chave que o identifi ca
e captura a informação que deseja em um determinado capítulo do livro.
O conceito é simples, por isso a complexidade para manipular os dados
é baixa. Além disso, esses tipos de bancos possuem como característica
a alta escalabilidade, fl exibilidade e uma boa performance. Podemos
mencionar alguns exemplos de Bancos de Dados que se encaixam
nessa categoria, tais como: Redis, Riak, Oracle NoSQL. Observe um
exemplo genérico de um banco chave-valor:
30
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
“Gustavo”
“idade: 22; sexo: M; escolaridade: ensino médio completo;
fi lhos: não”
“Maria”
“idade: 27; sexo: F; escolaridade: ensino superior comple-
to”; fi lhos: não”
• Banco de dados orientado a documentos: são Bancos de Dados que
armazenam dados em forma de coleção de documentos. Cada documento é
único e pode conter diversas informações com dados aninhados, “tipados” como
strings, valores numéricos, listas. É um dos tipos de Bancos de Dados não
Relacionais mais utilizado e possui uma estrutura muito semelhante a objetos
JSON. Estes bancos possuem baixa complexidade e elevada performance e
escalabilidade, embora não possuam tanta fl exibilidade quanto os outros Bancos
não Relacionais. Alguns exemplos de bancos orientados a documentos são
MongoDB, Apache CouchDB, Azure Cosmos DB. Observe um exemplo a seguir:
{
“id”: 12,
“nome”: “UNIASSELVI”,
“unidades”: {
“SP”: “Bragança Paulista”,
“AC”: “Cruzeiro do Sul”,
“MA”: “Bacabal”,
“GO”: “Anápolis”,
“RS”: “Bagé”
}
}
• Banco de dados orientado a colunas: são úteis quando você deseja
recuperar informações com efi ciência de bases de dados com poucas colunas
e muitos registros, ou seja, em uma tabela você pode ter uma família de
colunas com número igual ou diferente de colunas. A estrutura desse tipo de
banco pode ser demonstrada no exemploa seguir. Nós mostramos exemplos de
uma família e, nesse caso, existem três chaves, cada uma apontando para um
conjunto de registros que possuem tamanho de colunas diferentes. O ID = 1, por
exemplo, possui uma quantidade de colunas menor que os outros dois IDS. Essa
é uma característica importante desses tipos de Bancos de Dados. Além disso,
bancos colunares também possuem elevada performance, boa fl exibilidade e alta
escalabilidade. Evidentemente que isso pode variar de acordo com o domínio que
você está trabalhando. É possível obter registros de mídias sociais para serem
armazenados em um banco orientado a colunas. Os seguintes bancos podem ser
utilizados: Cassandra, HBase, Vertica etc.
31
COMPREENDENDO A ANÁLISE DE INFORMAÇÃO
NO CONTEXTO DE BIG DATA
Capítulo 1
“ID” = 1 Nome: Gustavo Idade: 21 Estado: Minas Gerais
“ID” = 2 Nome: Samanta Idade: 30 Estado: São Paulo Telefone: (11) 4310-0234
“ID” = 3 Nome: Maria Sexo: F Idade: 31 Estado: Paraná Telefone: (11) 4310-0234
• Banco de dados orientado a grafos: sugere um formato diferente de
armazenamento dos bancos anteriores, baseado na teoria dos gafos. Os nós
são dados que queremos armazenar e as arestas exibem o relacionamento entre
um conjunto de nós. O grafo dirigido e ponderado reforça a ideia de que, para
esse tipo de banco, há necessidade de uma forte ligação entre os dados. Por
esta razão, o Banco de Dados orientado a grafos é utilizado somente em alguns
casos específi cos. Apesar de possuir bastante fl exibilidade, sua performance e
escalabilidade variam de acordo com o domínio que está sendo trabalhado e sua
implementação não é trivial, podendo demandar tempo. O banco mais popular é o
Neo4JS, mas também é possível utilizar o OrientDB e o GraphBase. Um exemplo
deste modelo de banco pode ser mostrado através da Figura 6. Os nós centrais
são pessoas que estão conectadas às cidades que visitaram ou residiram. Por
exemplo, Jonas morou em Recife e João Pessoa e visitou Belo Horizonte.
FIGURA 6 – MODELO DE BANCO
FONTE: . Acesso em: 15 nov. 2018.
32
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
3.3 PROCESSAMENTO EM BATCH E
EM TEMPO REAL
Não devemos pensar em Big Data somente em função dos tipos e estruturas
de dados que manipularemos, ou mesmo se extrairemos ou manipularemos
informações de Bancos de Dados Relacionais ou não Relacionais. Outro ponto
que precisamos considerar diz respeito ao volume de dados serem processados
em batch (lote) ou em tempo real. Por isso, você precisa compreender e distinguir
ambos, é o que faremos nesta seção.
3.3.1 ProCESSAmENTo Em LoTE
O processamento em lote ou em batch refere-se à forma de processar
transações, tendo em vista um grupo de registros armazenados em um intervalo
de tempo. Quando desejamos obter os dados de vendas dos produtos em uma
grande loja de varejo considerando a última quinzena de vendas, nós já temos
um conjunto signifi cativo de informações armazenadas em lote dentro de
uma janela temporal de duas semanas, o que pode representar um volume de
petabytes de dados para processar. Por outro lado, talvez estejamos interessados
em analisar dados da próxima semana. Nesse caso, somente ao fi nal de sete dias,
quando a janela temporal de lote estiver completa ou cheia, podemos processar
todos esses dados. Isso representa uma característica importante desse tipo
de processamento: você primeiro armazena o dado em grandes lotes de dados
respeitando uma janela temporal, para posteriormente processá-los.
No entanto, trabalhar com esse tipo de processamento nem sempre é
adequado. Por exemplo, ao notarmos que precisamos trabalhar com uma
janela temporal mais curta, talvez uma semana, ao invés de duas semanas,
precisaríamos reprocessar todo aquele lote de dados novamente ou mesmo criar
códigos para lidar com essas variações. Cabe considerar que o processamento
em lote é utilizado há várias décadas, então, alguns consideram um modelo
ultrapassado, tendo em vista que a tomada de decisões atualmente está muito
mais dinâmica e com demandas de respostas cada vez mais ágeis.
Em compensação, você pode processar lotes de forma independente e
atemporal, o que torna este modelo mais fl exível, sendo ideal para processar
imensos conjuntos de dados de forma mais efi ciente. A Figura 7 ilustra o fl uxo de
dados em um ambiente de processamento em lotes.
33
COMPREENDENDO A ANÁLISE DE INFORMAÇÃO
NO CONTEXTO DE BIG DATA
Capítulo 1
FIGURA 7 – OS DADOS SÃO COLETADOS E ARMAZENADOS E LOGO
EM SEGUIDA PROCESSADOS PARA POSTERIOR ANÁLISE
FONTE: . Acesso em: 15 nov. 2018.
3.3.2 ProCESSAmENTo Em TEmPo rEAL
Com o surgimento e a redução de custo de novos dispositivos físicos, como
câmeras de alta defi nição para áudio, vídeo e imagens, drones para mapear
informações geográfi cas, sensores para implantação na indústria ou na agricultura,
uma nova demanda de análise foi ganhando espaço - a análise em tempo
real. Diferentemente do processamento baseado em grandes lotes de dados,
o processamento em tempo real captura um microlote de dados e disponibiliza
de forma imediata para análise. Assim, você pode capturar informações em
tempo real do Twitter e de imediato aplicar um processo de tratamento (como
transformação e limpeza) e, em seguida, aplicar um modelo de Machine Learning
para realizar alguma previsão. Por exemplo, investidores estão interessados em
mitigar riscos de investimento em novos negócios, tomando como base a Bolsa de
Valores. Um sistema baseado em Machine Learning pode ser criado para mapear
fontes, coletar, tratar, analisar e prever riscos de investimento. Além disso, detectar
eventos anômalos de atividades de cartão de crédito baseados em microlotes de
dados também necessitam de uma arquitetura que suporte processamento em
tempo real.
Note que o foco não é o armazenamento e sim a análise, por este
motivo, frameworks de Big Data criados para esta fi nalidade não possuem
a mesma robustez em termos de armazenamento do que àqueles voltados ao
processamento em batch. Em uma eventual necessidade, combinações de
componentes de Big Data em uma única arquitetura, por exemplo, combinando
o Hadoop e o Spark, podem ser úteis para enfrentar situações nas quais você
precise processar e armazenar grandes volumes de dados em tempo real.
34
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
O Hadoop será apresentado a você na última seção deste
capítulo. Além disso, você conhecerá o Spark em mais detalhes no
Capítulo 3.
Podemos elencar algumas vantagens dessa forma de processamento, a
saber: respostas ágeis, informações atualizadas, identifi cação de padrões ou
detecção de eventos em tempo de execução de modo a oferecer a gestores
decisões mais ágeis e assertivas em um determinado momento. Por outro
lado, existe aumento de complexidade se comparado ao modelo tradicional em
lote. Como os dados, muitas vezes, são analisados e logo após descartados, o
processo de auditoria pode ser comprometido. A Figura 8 mostra um pipeline que
exemplifi ca o processamento em tempo real.
FIGURA 8 – OS DADOS SÃO COLETADOS, PROCESSADOS À CADA MICROLOTE,
EM SEGUIDA, ANALISADOS E POSTERIORMENTE DESCARTADOS
FONTE: . Acesso em: 15 nov. 2018.
1 Explique as principais diferenças entre processamento de dados
estruturados, semiestruturados e não estruturados.
R.: ____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
35
COMPREENDENDO A ANÁLISEDE INFORMAÇÃO
NO CONTEXTO DE BIG DATA
Capítulo 1
____________________________________________________
2 Quais são os tipos de bancos de dados NoSQL existentes? Cite
uma ferramenta indicada para cada um dos tipos.
R.: ____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
3 Qual a principal diferença entre o processamento em lote e o
processamento em tempo real?
R.: ____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
____________________________________________________
4 ARQUITETURA DE BIG DATA E
SEUS COMPONENTES
Agora que você possui conhecimento dos conceitos básicos, conseguirá
distinguir diferenças importantes no contexto de Big Data e assim generalizar seu
aprendizado. Nesta seção, apresentaremos a arquitetura tradicional de Big Data e
seus componentes. A partir destes conhecimentos será possível que você consiga
refl etir sobre as novas abordagens e enfrentar desafi os em cenários reais.
4.1 ARQUITETURA TRADICIONAL DE
BIG DATA
Em seções anteriores comentamos a respeito do valor que a análise de Big
Data pode trazer para as organizações. A construção de uma arquitetura que
possa atender a todas as demandas e expectativas de negócios desempenha
um papel central para que a implementação de Big Data realmente apresente
36
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
resultados e forneça insights valiosos para a organização, fazendo valer a
pena todo o investimento dispensado, tais como pessoas, recursos, dinheiro e
tempo. Tendo isso em mente, não podemos pular etapas sem antes pensar em
mecanismos que precisamos considerar ao implementar o Big Data.
Uma arquitetura de Big Data precisa ser robusta o sufi ciente para
lidar com a ingestão, o processamento e a análise dos dados com
efi ciência, uma sólida infraestrutura e capacidade de fornecer insights
confi áveis que gerem valor real para o usuário fi nal. Pensando em
um alto nível podemos considerar que a arquitetura típica do Big Data
não difere muito de uma arquitetura de análise de dados tradicional,
visto que considera as fases de: extração, integração, organização,
análise e apresentação dos resultados. Contudo, as ferramentas, o
armazenamento e o processamento, a infraestrutura, a segurança, o
hardware, a computação paralela e as técnicas realçam a diferença
entre os dois campos. De um modo geral, podemos dividir a arquitetura
de Big Data em camadas.
Uma arquitetura de
Big Data precisa
ser robusta o
sufi ciente para lidar
com a ingestão, o
processamento e a
análise dos dados
com efi ciência, uma
sólida infraestrutura
e capacidade de
fornecer insights
confi áveis que
gerem valor real
para o usuário fi nal.
Uma proposta de arquitetura interessante pode ser encontrada
em: . É um material adicional, porém,
importante e que pode ser utilizado para complementar seu
conhecimento. Mais que isso, a arquitetura proposta possui
benefícios que podem auxiliá-lo em um projeto pessoal ou em um
cenário real de negócio.
4.1.1 CAmADA DE EXTrAÇÃo E
iNTEGrAÇÃo DE DADoS
Esta camada representa o primeiro contato que você terá com as fontes de
dados, por isso, antes de mais nada, certifi que-se de perguntar: “com base nos
requisitos de negócios coletados, onde devo buscar as informações que preciso?”.
Este autoquestionamento lhe direcionará a ir em busca de informações a respeito
da disponibilidade das fontes de dados. É importante também que você
considere a confi abilidade das informações, especialmente em épocas de Fake
News e robôs produzindo conteúdo. Por isso, considere sempre dar preferência
37
COMPREENDENDO A ANÁLISE DE INFORMAÇÃO
NO CONTEXTO DE BIG DATA
Capítulo 1
para sistemas onde a empresa possua mais controle sobre os dados
e, caso precise adicionar conteúdo externo, busque informações de
empresas, entidades ou órgãos governamentais que assegurem a
integridade, a confi abilidade e a qualidade dos dados que estão sendo
fornecidos.
De posse das fontes, você precisa realizar a etapa de extração
dos dados e então se perguntar: “os dados serão analisados em tempo
real ou em batch?”. É importante que você se certifi que dessa questão
para construir uma arquitetura apropriada de acordo com o objetivo
da análise. Os dados podem vir de diferentes fontes, com tipos e
formatos diversifi cados: dados de sensores, tweets, informações com
características geoespaciais, sistemas ERP, entre outros, ou seja, existe
um mix de fontes compostas de informações completamente diferentes
e a arquitetura de Big Data precisa fornecer uma transparência para
que essa extração exija esforço mínimo. Não é uma tarefa trivial, mas
possuir uma arquitetura que possa enxergar toda essa diversidade
de forma única tanto na fase de extração quanto na fase de integração, é algo
extremamente útil. Isso porque todo processo de Big Data é iterativo e precisa de
um acompanhamento contínuo. Assim, diante de um possível colapso ou mesmo
algum reparo durante o processo de uma tarefa automatizada e transparente
tenderia a agilizar bastante os ajustes que seriam realizados.
Esta etapa pode exceder consideravelmente o consumo de recursos
previstos, mas isso dependerá da variabilidade e variedade dos dados entre as
fontes. Quer dizer, fontes de diferentes naturezas podem consumir mais tempo
do que àquelas que compartilham de dados mais homogêneos entre si. Ainda,
fi ca a seu critério realizar algum tipo de tratamento e limpeza dos dados nesses
estágios iniciais, mas não é uma regra. Novamente, tudo depende do domínio
que você está lidando. Por exemplo, se estivermos trabalhando em um banco e
desejamos extrair informações da Bolsa de Valores, provavelmente realizaremos
transformação e limpeza de dados no que se refere a correções de valores e
unidades na moeda (dólar para real, por exemplo). Na prática, a tarefa de
transformação e limpeza dos dados na origem é algo comum pelo fato de não
existir uma padronização em termos de armazenamento entre as fontes.
4.1.2 CAmADA DE ArmAZENAmENTo ou
FLuXo DE DADoS
Uma vez que extraímos os dados podemos armazená-los em um destino,
em uma arquitetura tradicional de BI. Após a extração dos dados na fonte, cria-
Considere sempre
dar preferência para
sistemas onde a
empresa possua
mais controle sobre
os dados e, caso
precise adicionar
conteúdo externo,
busque informações
de empresas,
entidades ou órgãos
governamentais
que assegurem
a integridade, a
confi abilidade e a
qualidade dos dados
que estão sendo
fornecidos.
38
BiG DATA ANALYTiC E A TomADA DE DECiSÕES
se uma base de dados intermediária denominada Staging Area, que constitui em
uma “zona de repouso” para os dados, antes de serem carregados em uma fonte
destino - como um Data Warehouse, ou Data Mart ou mesmo em uma ferramenta
OLAP ( Online Analytical Processing). Entretanto, essa abordagem possui sérias
limitações quando o volume de dados aumenta demasiadamente e lidamos com
dados não estruturados. Por outro lado, podemos dispensar o uso de Stages se
espalharmos todos os nossos dados em um Data Lake (“Lago de dados”).
A Amazon (AWS, s.d.) defi ne um Data Lake como um repositório centralizado
que possibilita o armazenamento de dados estruturados e não estruturados em
suas formas brutas sem a necessidade de defi nir um esquema previamente,
como ocorre em bases tradicionais. Você