Buscar

Arquitetura de Coleta e Armazenamento de Dados Hadoop e Spark_final

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

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

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

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

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

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

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Brasília-DF. 
ArquiteturA de ColetA e ArmAzenAmento 
de dAdos: HAdoop e spArk
Elaboração
Roberto de Medeiros
Produção
Equipe Técnica de Avaliação, Revisão Linguística e Editoração
Sumário
APrESEntAção ................................................................................................................................. 4
orgAnizAção do CAdErno dE EStudoS E PESquiSA .................................................................... 5
introdução.................................................................................................................................... 7
unidAdE i
ArquiteturA e OrgAnizAçãO de dAdOs ........................................................................................... 9
CAPítulo 1
Big dAtA ............................................................................................................................... 13
unidAdE ii
ArquiteturA de COletA e ArmAzenAmentO de dAdOs ................................................................... 34
CAPítulo 1
FerrAmentAs ........................................................................................................................ 37
unidAdE iii
eCOssistemA HAdOOp....................................................................................................................... 58
CAPítulo 1
Os serviçOs integrAdOs AO HAdOOp ............................................................................... 60
unidAdE iV
O mOdelO mApreduCe e suAs implementAções ............................................................................ 96
CAPítulo 1
deFiniçãO e ArquiteturA .................................................................................................... 96
unidAdE V
FerrAmentAs (Open SOurce e COmerCiAis) ................................................................................. 106
CAPítulo 1
FerrAmentAs HAdOOp ....................................................................................................... 106
CAPítulo 2
FerrAmentAs spArk ........................................................................................................... 111
unidAdE Vi
estudO de CAsO prátiCO ............................................................................................................... 122
CAPítulo 1
Análise de dAdOs dO twitter usAndO O Flume & Hive nO HAdOOp FrAmewOrk ......... 122
rEfErênCiAS ................................................................................................................................ 126
4
Apresentação
Caro aluno
A proposta editorial deste Caderno de Estudos e Pesquisa reúne elementos que se 
entendem necessários para o desenvolvimento do estudo com segurança e qualidade. 
Caracteriza-se pela atualidade, dinâmica e pertinência de seu conteúdo, bem como pela 
interatividade e modernidade de sua estrutura formal, adequadas à metodologia da 
Educação a Distância – EaD.
Pretende-se, com este material, levá-lo à reflexão e à compreensão da pluralidade 
dos conhecimentos a serem oferecidos, possibilitando-lhe ampliar conceitos 
específicos da área e atuar de forma competente e conscienciosa, como convém 
ao profissional que busca a formação continuada para vencer os desafios que a 
evolução científico-tecnológica impõe ao mundo contemporâneo.
Elaborou-se a presente publicação com a intenção de torná-la subsídio valioso, de modo 
a facilitar sua caminhada na trajetória a ser percorrida tanto na vida pessoal quanto na 
profissional. Utilize-a como instrumento para seu sucesso na carreira.
Conselho Editorial
5
organização do Caderno 
de Estudos e Pesquisa
Para facilitar seu estudo, os conteúdos são organizados em unidades, subdivididas em 
capítulos, de forma didática, objetiva e coerente. Eles serão abordados por meio de textos 
básicos, com questões para reflexão, entre outros recursos editoriais que visam tornar 
sua leitura mais agradável. Ao final, serão indicadas, também, fontes de consulta para 
aprofundar seus estudos com leituras e pesquisas complementares.
A seguir, apresentamos uma breve descrição dos ícones utilizados na organização dos 
Cadernos de Estudos e Pesquisa.
Provocação
Textos que buscam instigar o aluno a refletir sobre determinado assunto antes 
mesmo de iniciar sua leitura ou após algum trecho pertinente para o autor 
conteudista.
Para refletir
Questões inseridas no decorrer do estudo a fim de que o aluno faça uma pausa e reflita 
sobre o conteúdo estudado ou temas que o ajudem em seu raciocínio. É importante 
que ele verifique seus conhecimentos, suas experiências e seus sentimentos. As 
reflexões são o ponto de partida para a construção de suas conclusões.
Sugestão de estudo complementar
Sugestões de leituras adicionais, filmes e sites para aprofundamento do estudo, 
discussões em fóruns ou encontros presenciais quando for o caso.
Atenção
Chamadas para alertar detalhes/tópicos importantes que contribuam para a 
síntese/conclusão do assunto abordado.
6
Saiba mais
Informações complementares para elucidar a construção das sínteses/conclusões 
sobre o assunto abordado.
Sintetizando
Trecho que busca resumir informações relevantes do conteúdo, facilitando o 
entendimento pelo aluno sobre trechos mais complexos.
Para (não) finalizar
Texto integrador, ao final do módulo, que motiva o aluno a continuar a aprendizagem 
ou estimula ponderações complementares sobre o módulo estudado.
7
introdução
Big data é um termo que se refere a conjuntos de dados ou combinações desses conjuntos 
cujo volume, variabilidade e velocidade os tornam difíceis de serem capturados, 
gerenciados, processados ou analisados por tecnologias e ferramentas convencionais, 
tais como bancos de dados relacionais e estatísticas de desktop ou pacotes de visualização, 
dentro do tempo necessário para torná-los úteis. O Hadoop (BHOSALE; GADEKAR, 
2014) é uma estrutura de programação usada para suportar o processamento de 
grandes conjuntos de dados em um ambiente de computação distribuída. O Hadoop 
foi desenvolvido pelo MapReduce do Google, que é uma estrutura de software em que 
um aplicativo é dividido em várias partes. O ecossistema atual do Appache Hadoop 
consiste no Kernel do Hadoop, MapReduce, HDFS e números de vários componentes, 
como Apache Hive, Base e Zookeeper, HDFS e MapReduce.
Ao mesmo tempo, um novo modelo de computação em cluster tornou-se amplamente 
popular, no qual cálculos de paralelismo de dados são executados em clusters de 
máquinas não confiáveis por sistemas que fornecem automaticamente agendamento 
com reconhecimento de localidade, tolerância a falhas e balanceamento de carga. Spark 
é uma nova estrutura de computação em cluster que suporta aplicativos com conjuntos 
de trabalho e, ao mesmo tempo, fornece propriedades de escalabilidade e tolerância a 
falhas semelhantes ao MapReduce (ZAHARIA et al., 2010).
Ambas tecnologias são abordadas e trabalhadas no decorrer desta disciplina. 
Os capítulos explicitam uma conexão lógica da importância da Arquitetura, Organização, 
Coleta e Armazenamento de Dados até as próprias tecnologias do Spark e Hadoop 
(juntamente com seu “ecossistema”).
objetivos
 » Apresentar conceitos e terminologias aplicados ao ambiente dos 
ecossistemas de big data;
 » Compreender a configuração de serviços no cluster (Ambari);
 › Ecossistema Hadoop
 › Zookeeper,
 › Oozie,
8
 › Hive,
 › Sqoop,
 › Pig,
 › Hbase,
 › Flume,
 › Mahout,
 › Kafka,
 › Ambari,
 » Yarn,
 › HDFS,
 › MapReduce
 » Executar script no ambiente do Hadoop e Spark;
 » Conhecer recursos avançados de monitoramento e execução.
9
unidAdE i
ArquitEturA E 
orgAnizAção dE 
dAdoS
Informações versus dados – as palavras são aparentemente intercambiáveis. Os dados 
são informações. As informações, particularmente quando discutidas em termos 
de tecnologia, são dados (PETERMAN, 2017). Quando falamos estratégia de dados, 
informações e dados são coisas inteiramente diferentes. Compreender suas diferenças 
e manipularcorretamente as arquiteturas da estratégia de dados de cada uma delas é 
vital se sua organização for tirar o máximo possível da sua estratégia.
O consultor de gestão austríaco-americano Peter Drucker descreveu uma vez a informação 
como “dados dotados de relevância e propósito”. Exemplos de dados organizacionais 
brutos, como números de vendas, custos de negócios e taxas de retenção de clientes, são 
essencialmente sem sentido quando analisados como números independentes, mas, 
uma vez que esses dados estão configurados em alguma forma de contexto, geralmente 
combinando-o com outros dados, eles se transformam em informação. 
Os dados brutos dos números de vendas de um mês darão à organização uma visão 
absolutamente nula de como eles estão sendo realizados; contudo, dão a esses 
dados algum contexto histórico, combinando-o com os números de vendas dos 
meses anteriores, de repente você obtém informações tangíveis. Quanto mais dados 
combinados, maiores são as ideias que podem ser obtidas. Talvez os números de vendas 
estejam em uma tendência ascendente, graças à sua organização entrar em um novo 
mercado, ou no verso de uma nova iniciativa de marketing. Em suma, os dados podem 
ser considerados como os zero e os outros, enquanto a informação é o que esses zeros e 
aqueles estão tentando dizer.
Arquitetura versus organização
Ao se descrever um sistema de computação, é feita uma distinção entre a arquitetura 
e a organização do computador. Embora seja difícil definir precisamente esses termos, 
existe um consenso sobre as áreas que cada um deles abrange (VRANESIC, 1980; 
SIEWIOREK; BELL; NEWELL, 1982; BELL et al., 1978a).
10
UNIDADE I │ ArqUItEtUrA E OrgANIzAçãO DE DADOs
O termo “arquitetura de um computador” refere-se aos atributos de um sistema 
que são visíveis para o programador ou, em outras palavras, aos atributos que têm 
impacto direto sobre a execução lógica de um programa. O termo “organização de um 
computador” refere-se às unidades operacionais e suas interconexões que implementam 
as especificações da sua arquitetura. Exemplos de atributos de arquitetura incluem 
o conjunto de instruções, o número de bits usados para representar os vários tipos 
de dados (por exemplo, números, caracteres), os mecanismos de E/S e as técnicas de 
endereçamento à memória. Atributos de organização incluem detalhes de hardware 
transparentes ao programador, tais como sinais de controle, interfaces entre o 
computador e os periféricos e tecnologia de memória utilizada.
Figura 1. Coleta de dados automatizada a partir de múltiplas origens.
Fonte: grAnAtO (2013).
Definir se um computador deve ou não ter uma instrução de multiplicação, por exemplo, 
constitui uma decisão do projeto da sua arquitetura. Por outro lado, definir se essa 
instrução será implementada por uma unidade especial de multiplicação ou por um 
mecanismo que utiliza repetidamente sua unidade de soma constitui uma decisão do 
projeto da sua organização. Essa decisão de organização pode ser baseada na previsão 
sobre a frequência de uso da instrução de multiplicação, na velocidade relativa das duas 
abordagens e no custo e tamanho físico da unidade especial de multiplicação.
11
ArquiteturA e OrgAnizAçãO de dAdOs │ unidAde i
Historicamente, e ainda hoje, a distinção entre arquitetura e organização é de 
fundamental importância. Muitos fabricantes de computador oferecem uma família 
de modelos de computadores, todos com a mesma arquitetura, mas com diferenças 
de organização. Dessa maneira, os diferentes modelos da família têm preços e 
características de desempenho distintos. Além disso, uma arquitetura pode sobreviver 
por muitos anos, enquanto sua organização muda com a evolução da tecnologia. 
Um exemplo claro desses dois fenômenos é o da arquitetura do Sistema 370 da IBM. 
Essa arquitetura foi introduzida em 1970 e com um grande número de modelos. Um 
cliente com exigências mais modestas podia comprar um modelo mais barato e mais 
lento e, caso sua demanda por desempenho aumentasse, ele poderia migrar para um 
modelo mais rápido e mais caro, sem ter de abandonar as aplicações que já tivessem 
sido desenvolvidas. Ao longo dos anos, a IBM introduziu muitos modelos novos, com 
tecnologia aprimorada, para substituir os modelos mais antigos, oferecendo ao cliente 
maior velocidade, menor custo ou ambos. Esses modelos mais novos conservavam a 
mesma arquitetura, preservando o investimento em software do cliente. Notavelmente, 
a arquitetura do Sistema 370 sobreviveu até hoje, com pequenos melhoramentos, como 
a arquitetura da linha de computadores de grande porte da IBM.
Na classe de sistemas denominados microcomputadores, a relação entre arquitetura 
e organização é muito mais estreita. Mudanças na tecnologia não apenas influenciam 
a organização, mas também resultam na introdução de arquiteturas mais ricas e 
poderosas. Para essas máquinas menores, geralmente não existe um forte requisito 
de compatibilidade de uma geração para outra. Portanto, no caso dessas máquinas, 
existe maior relação entre as decisões relativas à sua arquitetura e à sua organização. 
Um exemplo intrigante são os computadores com um conjunto reduzido de instruções 
(reduced instruction set computer – RISC). Este material aborda tanto a arquitetura 
quanto a organização de computadores, sendo talvez maior a ênfase com relação à 
organização. Entretanto, como a organização deve ser projetada para implementar 
uma especificação particular de arquitetura, um tratamento minucioso da organização 
de computadores requer também um exame detalhado de sua arquitetura.
Alguns termos devem ser resumidos para ficarem claros.
 » Dado: valores brutos armazenados ou mesmo sequências de “1”s e “0”s.
 » Informação: a interpretação (filtragem) dos dados de forma sistêmica 
a fim de se obter um conhecimento sobre os valores coletados.
12
UNIDADE I │ ArqUItEtUrA E OrgANIzAçãO DE DADOs
 » Arquitetura: refere-se aos atributos de um sistema que são visíveis 
para o programador ou, em outras palavras, aos atributos que têm 
impacto direto sobre a execução lógica de um programa.
 » Organização: refere-se às unidades operacionais e suas interconexões 
que implementam as especificações da sua arquitetura.
Arquitetura de dados
Como parte de sua estratégia de dados, uma organização exigirá duas “arquiteturas”. 
Uma dedicada a dados brutos, outra dedicada à informação que pode ser obtida a partir 
desses dados (PETERMAN, 2017).
A arquitetura de dados de uma organização definirá como os dados devem ser coletados, 
armazenados, organizados, distribuídos e consumidos. As regras devem ser criadas 
para governar as estruturas de bancos de dados e sistemas de arquivos, bem como os 
processos que conectam os dados com as áreas da organização que o exigem.
A arquitetura da informação, por outro lado, tem como objetivo estruturar os sistemas 
e procedimentos que convertem os dados brutos em informações úteis. Uma vez que 
os dados brutos foram entregues com a ajuda da arquitetura de dados, a arquitetura 
da informação é responsável por converter tais dados em informações reais. Como 
exemplo, a arquitetura de dados pode alimentar dados brutos sobre as vendas e o 
contato do cliente em um sistema de arquitetura de informações, como um sistema 
de Gerenciamento de Relacionamento com o Cliente (CRM), onde é amalgamado e 
analisado para revelar quaisquer relações entre o contato com o cliente e as vendas. 
Isso pode ser feito por canal, região por região.
Com a estratégia de dados agora na frente da mente da organização de qualquer 
pensamento, o foco subsequente em arquiteturas é mais forte do que nunca. 
A abordagem de uma organização dessas arquiteturas informará sua abordagem em sua 
maior estratégia de dados, talvez mais do que muitos percebam. A tentação ao formular 
a estratégia arquitetônica é apontar para o máximo controle. Isso, no entanto, pode ser 
um erro, visto que uma abordagem altamente centralizada e altamente regulada para 
suas arquiteturasde dados e informações será refletida em uma estratégia de dados 
maior, inflexível e monodirecional. Como sempre, há um meio-termo feliz, embora esse 
meio-termo mude dependente das necessidades e dos desejos de sua organização. 
13
CAPítulo 1
Big data
O Big Data é um dos desafios de pesquisa mais importantes para o horizonte de 2020, 
porque faz evolução de análises nos conjuntos de dados existentes para criar novas 
informações, enriquecendo a cadeia de valor do negócio. Nesse contexto, um conjunto 
de dados é considerado grande quando atende aos requisitos dos “três Vs”: volume, 
variedade e velocidade (CECCHINEL et al., 2014).
O paradigma da Internet das Coisas (IoT) se baseia em um mundo de objetos 
interconectados, capazes de se comunicar entre si e coletar dados sobre seu contexto. 
Dia após dia, diversas empresas de vendas como as de carros, as de smartphones e 
mesmo as de edifícios coletam várias informações sobre nosso ambiente de vida, 
gerando zettabytes de dados detectados. O grupo Gartner prevê até 26 bilhões de coisas 
conectadas à Internet até 2020. Algumas empresas estimam que esse mercado irá gerar 
até 180 bilhões de euros em todo o mundo. Esse é um exemplo típico de coleta e análise 
de Big Data, pois aborda os três Vs: grande volume de dados diversos, coletados com 
uma alta velocidade para definir o aplicativo com valor agregado.
O acoplamento entre as comunidades IoT e Big Data é forte. Infelizmente, não há uma 
abordagem abrangente para apoiar a coleta de dados de sensores e sua exploração: os 
esforços de pesquisa estão concentrados na coleta de dados dos níveis de produtores 
de dados, os níveis de recepção ou de exploração. O objetivo do estudo desse tema para 
nós é complementar as abordagens de última geração, descrevendo uma arquitetura 
abrangente de software que suporta a coleta de dados de sensores produzidos pela 
IoT. Nessa situação, os arquitetos devem manipular sensores como dispositivos de 
hardware e direcionar os dados produzidos para os armazéns de dados capazes de 
armazenar a grande quantidade de dados produzidos por esses dispositivos. Essa 
classe de arquitetura deve enfrentar vários desafios, por exemplo, armazenamento de 
dados, evitando gargalos de processamento, heterogeneidade de sensores, alta taxa de 
transferência.
14
UNIDADE I │ ArqUItEtUrA E OrgANIzAçãO DE DADOs
Para entendermos o conceito de Big Data, precisamos apenas ter em mente 
os 3 Vs:
 » Volume: dados em grande quantidade.
 » Variedade: quanto mais dados diferentes, mais rico é nosso Big Data.
 » Velocidade: de trabalho com as informações (velocidade do App 
criado por nós).
O valor (ganho) dos dados processados, e como resultado final (em forma de 
lucro), chega a ser tão importante quanto os 3 Vs apresentados, e é, portanto, 
considerado por alguns autores como o 4º V.
A Figura 2 exemplifica o conceito de Big Data e leva a perspectivas de Model Driven 
Architecture (embora esse tema não venha a ser abordado em nosso trabalho). 
Nesta figura, há três partes: dados; processamento; plataformas diferentes. Os dados 
são coletados de forma bruta, como vários documentos com informações. Em seguida, 
a “máquina do Big Data” transforma-os em informações para diferentes plataformas, 
como Oracle, SharePoint, Alfresco, IBM ou Documentum.
Figura 2. Big Data e a transformação de dados em informações.
Fonte: grAnAtO, 2013.
A Figura 3 exemplifica como é feita a mineração de dados por meio de ferramenta da 
IBM i2 iBase 8. O software coleta os dados como em um banco de dados e faz a ligação 
lógica que monta uma informação.
15
ArquiteturA e OrgAnizAçãO de dAdOs │ unidAde i
Figura 3. mineração dos dados transformando-os em informação.
Fonte: grAnAtO (2013).
Técnicas de extração de informações geralmente são agrupadas da seguinte forma 
(GRANATO, 2013):
 » Extração de arquivos do sistema: extração de propriedades do arquivo, 
como nome do arquivo, tamanho, data de modificação, data de criação, 
atributos, tipo mime etc.
 » Extração de propriedades documento: extração de propriedades de 
documentos específicos, dependendo do formato do documento, como 
título, autor, editora, versão etc.
 » Extração de propriedades e-mail: extração de propriedades comuns, tais 
como e-mail do remetente, destinatário, enviado, data, assunto, tópico 
de conversação, entre outras propriedades, como cabeçalhos de internet, 
remetente original etc.
 » ECM Plataformas: extrações de todas as propriedades de documento 
no ECM como estes são armazenados com o documento, incluindo as 
configurações de segurança.
16
UNIDADE I │ ArqUItEtUrA E OrgANIzAçãO DE DADOs
 » Cálculo Hash: cálculo de valores de hash para efeitos de identificação, 
suporte a vários tipos de hash, como MD5 e SHA1.
 » Detecção duplicada: calcular os valores de hash com base no conteúdo de 
mensagens de e-mail ou binários para outros tipos de arquivo com vistas 
a encontrar e detectar documentos duplicados.
 » Detecção de idioma: a detecção de idioma do documento, o suporte para 
mais de 400 idiomas.
 » Extração Conceito: extração de predefinido (texto completo), consultas 
que identificam documento e conteúdo de informação com combinações 
específicas de palavras-chave ou (fuzzy e curinga) padrões palavra dentro.
 » Extração Entidade: extração de entidades de base que podem ser 
encontradas em um texto, tais como: pessoas, empresas, locais, produtos, 
países e cidades.
 » Extração Fato: essas são as relações entre as entidades, por exemplo, uma 
relação contratual entre uma empresa e uma pessoa.
 » Extração de Atributos: extração das propriedades das entidades 
encontradas, como o título da função, a idade de uma pessoa e número de 
seguridade social, endereços de locais, quantidade de produtos, números 
de matrícula do carro, e do tipo de organização.
 » Extração de Eventos: são eventos interessantes ou atividades que 
envolvam entidades, tais como: “uma pessoa fala para outra pessoa”, 
“uma pessoa viaja para um local” e “uma empresa transfere o dinheiro 
para outra empresa”.
 » Detecção Sentimento: encontrar documentos que expressam um 
sentimento e determinar a polarização e a importância do sentimento 
expresso.
 » Processamento de linguagem estendida natural: Part-de-Speech (POS) 
para a marcação de pronome, correferência e anáfora resolução, a 
normalização semântica, agrupamento limite entidade, e coocorrência 
de resolução.
17
ArquiteturA e OrgAnizAçãO de dAdOs │ unidAde i
O Object Management Group™ (OMG™) foi formado como uma organização 
de padrões para ajudar a reduzir a complexidade, reduzir custos e acelerar a 
introdução de novos aplicativos de software. O Model Driven Architecture (MDA) 
é projetado para ser uma estrutura arquitetônica para o desenvolvimento de 
software. Essa estrutura é construída em torno de várias especificações detalhadas 
de OMG, que são amplamente usadas pela comunidade de desenvolvimento. 
Um aspecto fundamental do MDA é sua capacidade de abordar o ciclo de vida 
completo do desenvolvimento, abrangendo análise e projeto, programação, 
testes, montagem de componentes, bem como implantação e manutenção 
(TRUYEN, 2006).
Em nosso estudo, o MDA foi dado de exemplo quando se trata da transformação 
de modelos independentes em específico.
Mineração de dados
Técnicas de análise de dados que têm sido tradicionalmente usadas para tais tarefas 
incluem análise de regressão, análise de cluster, taxonomia numérica, análise 
multidimensional, outros métodos estatísticos multivariados, modelos estocásticos, 
análise de séries temporais, técnicas de estimação não lineares e outras. Essas técnicas 
têm sido amplamente utilizadas para resolver muitos problemas práticos. Eles são, 
no entanto, orientados principalmente para a extração de características de dados 
quantitativos e estatísticos e, como tal, possuem limitações inerentes. Por exemplo, 
uma análise estatística pode determinar covariâncias e correlações entre variáveis emdados. Não pode, no entanto, caracterizar as dependências em um nível e procedimento 
abstrato e conceitual, uma explicação casual das razões pelas quais essas dependências 
existem. Tampouco pode desenvolver uma justificativa dessas relações na forma de 
descrições e leis de estilo lógico de nível superior. Uma análise estatística de dados 
pode determinar a tendência central e a variância de fatores dados, e uma análise de 
regressão pode ajustar uma curva a um conjunto de pontos de dados. Essas técnicas não 
podem, no entanto, produzir uma descrição qualitativa das regularidades e determinar 
sua dependência de fatores não explicitamente fornecidos nos dados, nem podem fazer 
uma analogia entre a regularidade e a regularidade descobertas em outro domínio 
(SUMATHI; SIVANANDAM, 2006).
As estatísticas como um campo tradicional de inferência forneceram modelos com 
pressupostos mais ou menos detalhados sobre a distribuição de dados. A teoria clássica 
da inferência bayesiana demonstrou sua utilidade em uma grande variedade de domínios 
de aplicação, desde aplicações médicas até dados de consumidores e análise de cesta 
18
UNIDADE I │ ArqUItEtUrA E OrgANIzAçãO DE DADOs
de mercado. Além dos métodos clássicos, as redes neurais e o aprendizado de máquina 
contribuíram com ideias, conceitos e algoritmos para a análise desses conjuntos de 
dados com um novo sabor distintivo. As novas abordagens apresentadas por esses 
pesquisadores na última década partem da análise tradicional de dados estatísticos de 
várias maneiras: dependem menos de suposições estatísticas sobre a distribuição real 
dos dados, baseiam-se menos em modelos que permitem análises matemáticas simples, 
mas usam sofisticados modelos que podem aprender dependências não lineares 
complicadas a partir de grandes conjuntos de dados. Enquanto as estatísticas têm 
sido uma ferramenta para testar as teorias propostas pelos cientistas, a aprendizagem 
de máquina e a pesquisa de redes neurais são avaliadas com base em quão bem elas 
generalizam novos dados, que provêm do mesmo processo desconhecido que gerou 
os dados de treinamento. A medição do desempenho de generalização para selecionar 
modelos deve ser diferenciada da prática corrente generalizada, mas questionável, da 
inquisição de dados em que “os dados são torturados até que confessem”.
Durante os últimos 15 anos, várias técnicas foram propostas para melhorar as 
propriedades de generalização dos estimadores neurais. O mecanismo básico é controlar 
a riqueza da classe de funções possíveis que podem ser obtidas através do treinamento, 
que foi quantificado com o trabalho seminal de Vapnik e Chervonenkis sobre a 
“capacidade de uma classe de hipóteses”. O conceito combinacional das dimensões de VC 
e suas generalizações parametrizam um limite superior rigoroso, mas vago, em grandes 
desvios do risco empírico do risco esperado de classificação ou regressão. Tais limites 
teóricos podem nos ajudar a entender o fenômeno da generalização. Para responder a 
uma questão numérica sobre um determinado algoritmo e conjunto de dados, limites 
empíricos puramente quantitativos sobre o erro de generalização esperado podem ser 
obtidos repetindo-se muitas simulações de treinamento/teste, e eles são mais rígidos 
que os limites teóricos analíticos. As heurísticas que essencialmente implementam o 
controle de complexidade de uma forma ou de outra são a queda de peso amplamente 
utilizada no treinamento de percepções multicamadas ou a regra de parada antecipada 
durante o treinamento. Também é possível visualizar o controle de capacidade em 
termos de penalidade para estimadores muito complexos. O controle de complexidade 
é particularmente relevante para mineração de dados. Nessa área, os pesquisadores 
buscam caracterizações complexas, mas ainda válidas, de seus grandes conjuntos de 
dados. Apesar do grande tamanho da inferência dos conjuntos de dados, muitas vezes 
ocorre no pequeno limite de tamanho da amostra. Deve-se notar que a proporção de 
amostras para graus de liberdade pode ser pequena mesmo para grandes conjuntos de 
dados quando são usados modelos complexos como árvores de decisão profundas ou 
máquinas de vetores de suporte em espaços de alta dimensão.
19
ArquiteturA e OrgAnizAçãO de dAdOs │ unidAde i
O controle da complexidade, seja por técnicas numéricas como validação cruzada ou 
por limites teóricos da teoria da aprendizagem computacional com reescalonamento 
empírico, é indispensável para profissionais de mineração de dados. A empresa de 
descoberta do conhecimento visa à automação do esforço milenar dos seres humanos 
para obter informações e construir modelos e teorias sobre os fenômenos no mundo 
que nos rodeia. Os mineradores de dados e os descobridores de conhecimento podem 
aprender muito e, por exemplo, aguçar sua consciência, observando o método científico 
de experimentação, modelagem e validação/falsificação nas ciências naturais, ciências 
da engenharia, ciências sociais, economia e filosofia. A próxima década de pesquisa 
em serviços de informação baseados em rede promete fornecer acesso amplamente 
disponível a quantidades sem precedentes de dados em constante expansão. Os usuários 
de muitos serviços de informações comerciais, governamentais e privados se beneficiarão 
das novas tecnologias de aprendizado de máquina que extraem novos conhecimentos 
integrando e analisando quantidades muito grandes de dados amplamente distribuídos 
para descobrir e relatar relações e padrões sutis de eventos que não são imediatamente 
discerníveis por inspeção humana direta.
A diferença essencial entre a mineração de dados e a análise de dados tradicional 
(como consulta, relatório e aplicação online de análise) é que a mineração de dados 
consiste em minerar informações e descobrir conhecimento com base em premissas 
não claras. A mineração de dados é o uso de técnicas automatizadas de análise de 
dados para descobrir relações anteriormente não detectadas entre itens de dados. 
A mineração de dados geralmente envolve a análise de dados armazenados em um 
data warehouse. Três das principais técnicas de mineração de dados são regressão, 
classificação e agrupamento. A Mineração de Dados, também conhecida popularmente 
como Descoberta de Conhecimento em Bancos de Dados (KDD), refere-se à extração 
não trivial de informações implícitas, anteriormente desconhecidas e potencialmente 
úteis, de dados em bancos de dados. Embora a mineração de dados e a descoberta 
de conhecimento em bancos de dados (ou KDD) sejam frequentemente tratados como 
sinônimos, a mineração de dados é, na verdade, parte do processo de descoberta de 
conhecimento (SAHU et al., 2011). A figura 4 mostra que a Mineração de Dados possui 
várias influências e abrange campos diferentes da computação. A Figura 5 exemplifica 
a evolução das tecnologias de mineração de dados.
Para entender o contexto da mineração de dados (ou data mining, DM), 
precisamos entender que a Internet oferece uma larga oportunidade para 
conhecer os clientes e suas preferências e rejeições. Para tal objetivo, basta ter em 
20
UNIDADE I │ ArqUItEtUrA E OrgANIzAçãO DE DADOs
mente que podemos fazer uma mineração das informações e achar “o diamante” 
no meio das preferências das pessoas. Podemos comprar acesso aos dados de 
certas empresas e com eles encontrar características, gostos, quais compras 
são realizadas, o que nos faria evitar rejeições durante vendas empresariais. 
Ou mesmo, de forma mais simples, podemos evitar certos erros com nossos 
clientes que já são formados apenas coletando informações de suas opiniões e 
gostos na Internet.
O Data Mining é uma poderosa ferramenta da computação, e poderá garantir 
vaga no mercado de trabalho. Basta saber oferecer um profissional que estude 
dados com uso de tecnologia moderna como o Data Mining, o Data Warehousing, 
ou mesmo o Big Data. Nosso curso fornecerá esse poder ao aluno! Fique atento e 
leia além do que lhe ensinaremos!
Figura 4. mineraçãode dados adota técnicas de muitos domínios.
Mineração
de Dados
Aprendizagem
de Máquinas
Reconhecimento
de Padrões
Visualização
Algoritmos
Computação de 
Alta
Performance
Aplicações
Recuperação
de Informações
Data
Warehouse
Sistemas de 
Bancos de 
Dados
Estatísticas
Fonte: HAn et al. (2012, com adaptações).
21
ArquiteturA e OrgAnizAçãO de dAdOs │ unidAde i
Figura 5. mineração dos dados transformando-os em informação.
Coleção e Criação de Dados
(1960)
Processamento de arquivos primitivos
Sistema de Gerencimento de Dados
(1970 - 1980)
Hierarchical and network database systems
Relational database systems
Data modeling: entity-relationship models etc.
Indexing and accessing methods
Query languages: SQL etc.
User interfaces, forms, and reports
Query processing and optimization
Transactions, concurrency control, and recovery
Online transaction processing (OLTP)
Sistema de Banco de Dados Avançado
(1980+)
Advanced data models: extended-relational,
object relational, deductive etc.
Managing complex data: spatial, temporal,
multimedia, sequence and structured, scientific,
engineering, moving objects etc.
Data streams and cyber-physical data
systems
Web-based databases (XML, semantic web)
Managing uncertain data and data cleaning
Integration of heterogeneous sources
Text database systems and integration with
information retrieval
Extremely large data management
Database system tuning and adaptive systems
Advanced queries: ranking, skyline etc.
Cloud computing and parallel data processing
Issues of data privacy and security
Análise de Dados Avançada
(1980+)
Data warehouse and OLAP
Data mining and knowledge discovery:
classification, clustering, outlier analysis,
association and correlation, comparative
summary, discrimination analysis, pattern
discovery, trend and deviation analysis etc.
Mining complex types of data: streams,
sequence, text, spatial, temporal, multimedia,
Web, networks etc.
Data mining applications: business, society,
retail, banking, telecommunications, science and
engineering, blogs, daily life etc.
Data mining and society: invisible data mining,
privacy-preserving data mining, mining social
and information networks, recommendersystems
etc.
Geração Futura de Sistemas de Informação
(Presente momento)
Fonte: HAn et al. (2012).
A estatística é o campo tradicional que lida com a quantificação, coleta, análise, 
interpretação e conclusão de dados. A mineração de dados é um campo interdisciplinar 
que se baseia em ciências da computação (base de dados, inteligência artificial, 
aprendizado de máquina, modelos gráficos e de visualização), estatística e engenharia 
(reconhecimento de padrões, redes neurais). DM (Data Mining) envolve a análise de 
grandes bases de dados existentes, a fim de descobrir padrões e relações nos dados 
e outras descobertas (inesperadas, surpreendentes e úteis). Normalmente, difere das 
estatísticas tradicionais em duas questões: o tamanho do conjunto de dados e o fato de 
que os dados foram inicialmente coletados para um propósito diferente do da análise 
de DM. Assim, o design experimental, um tópico muito importante na estatística 
tradicional, é geralmente irrelevante para o DM. Por outro lado, a análise assintótica, 
por vezes criticada na estatística como sendo irrelevante, torna-se muito relevante no 
DM (BENJAMINI; LESHNO, 2004).
22
UNIDADE I │ ArqUItEtUrA E OrgANIzAçãO DE DADOs
A análise de regressão é o método estatístico mais usado no Data Mining (BENJAMINI; 
LESHNO, 2004). Trata-se do processo de determinar como uma variável y está 
relacionada a uma ou mais outras variáveis x1,...,xk. O y é geralmente chamado de 
variável dependente e os xi são chamados de variáveis independentes ou explicativas. 
Em um modelo de regressão linear, assumimos que:
0
1
, 1, ,
=
= β + β + ε = …∑
k
i j ji i
j
y x i M
E que os são independentes e estão distribuídos de forma idêntica como e M é o número 
de pontos de dados. O valor esperado de yi é dado por:
( ) 0
1=
= β + βΣ
k
i j ji
j
E y x
Para estimar os coeficientes do modelo de regressão linear, utilizou-se a estimativa 
de mínimos quadrados, que dá resultados equivalentes aos estimadores obtidos pelo 
método da máxima verossimilhança. Note que, para o modelo de regressão linear, 
existe uma fórmula explícita de . Podemos escrever a primeira fórmula em forma de 
matriz por em que é a transposta do vetor ; ,...,,], é a transposta do vetor vetor e a matriz 
X é dada por:
112
221
1
1
1
1
1
  
  
  =   
     


  

k
k
k Mk
xx
xx
X
x x
data Warehouse
Um Data Warehouse é um repositório de informações coletadas de várias fontes, 
armazenadas em um esquema unificado e geralmente residindo em um único site. 
Os data warehouses são construídos por meio de um processo de limpeza, integração, 
transformação, carregamento e atualização periódica de dados. A figura 6 mostra a 
estrutura típica para construção e uso de um Data Warehouse simples. Para facilitar 
a tomada de decisão, os dados em um data warehouse são organizados em torno de 
assuntos principais (por exemplo, cliente, item, fornecedor e atividade). Os dados são 
armazenados para fornecer informações de uma perspectiva histórica, como nos últimos 
6 a 12 meses, e são normalmente resumidos. Por exemplo, em vez de armazenar os 
detalhes de cada transação de vendas, o Data Warehouse pode armazenar um resumo 
das transações por tipo de item para cada loja ou, resumido em um nível mais alto, para 
cada região de vendas.
23
ArquiteturA e OrgAnizAçãO de dAdOs │ unidAde i
Figura 6. estrutura típica de um data warehouse para um caso particular.
Fonte: HAn et al. (2012, com adaptações).
Big data
A frase “Big Data” tem dezenas de várias definições oferecidas por uma ampla gama de 
organizações. No passado, o termo “Big Data” era utilizado para a grande quantidade 
de informações disponíveis coletadas no mundo digital. Hoje, o Big Data é reconhecido 
como o poder crescente do século XXI. Big Data não é apenas uma palavra de ordem, é 
um disruptor no canal de tecnologia. No livro “Big Data: A Business and Legal Guide”, 
James Kalyvas e Michael Overly explicam Big Data como:
[...] um processo para fornecer percepções de tomada de decisão. 
O processo usa pessoas e tecnologia para analisar rapidamente grandes 
quantidades de dados de diferentes tipos (dados estruturados de tabelas 
tradicionais e dados não estruturados, como imagens, vídeo, e-mail, 
dados de transação e interações de mídia social) de uma variedade de 
fontes para produzir um fluxo de conhecimento acionável (KALYVAS; 
OVERLY, 2015, tradução nossa).
Uma das principais qualidades do Big Data é a capacidade de transformar. A compra e a 
utilização de software complexo ou de técnicas caras para coletar dados para fazer uso 
deles não são mais necessárias. O Big Data, com uma combinação de nuvem e mundos 
móveis, muda o jogo para empresas de todos os tamanhos e tipos.
Objetivos:
 » Redução de custos - Big Data traz reduções de custos e melhorias 
significativas para a realização das tarefas atribuídas no tempo 
especificado, implementando tecnologias de informação. O Big Data 
oferece às organizações e empresas uma oportunidade de atingir uma 
24
UNIDADE I │ ArqUItEtUrA E OrgANIzAçãO DE DADOs
variedade de metas, utilizando suas tecnologias e conceitos. Os objetivos 
selecionados influenciam não apenas o resultado e os benefícios 
financeiros, mas também o processo.
 » Redução de tempo - as tecnologias de Big Data são utilizadas para 
otimizar os processos de trabalho, o que leva à redução do tempo de 
implementação das tarefas atribuídas.
 » Desenvolvendo novas ofertas baseadas em Big Data - desenvolve ampla 
gama de ofertas de produtos utilizando-se o Big Data.
 » Suportando decisões internas de negócios - o Big Data é aplicado como 
uma fonte de dados estruturada para tomada de decisão interna das 
empresas.
os 3 Vs
Em 2001, Doug Laney apresentou o modelo de Big Data do 3V na publicaçãodo 
MetaGroup, marcando seus três principais componentes: o volume excessivo de dados, 
a grande variedade de diferentes tipos de dados e a velocidade com que os dados são 
processados. O modo 3 V identifica, de forma notável, as formas tradicionais aplicadas 
para obter, armazenar, utilizar e analisar dados. 
Volume
O volume de dados fornecidos às empresas aumenta constantemente desde 2004. 
Por exemplo, a quantidade total de dados coletados de toda a Internet em 2004 
foi de um petabyte. Um petabyte equivale à coleção de todos os conteúdos de 
televisão por 100 anos. Em 2011, a quantidade global de informações armazenadas 
eletronicamente atingiu um zettabyte (que é igual a um milhão de petabytes ou 
uma coleção de vídeos de alta definição com a duração de 36 milhões de anos). Em 
2015, o volume do Big Data alcançará 7,9 zettabytes (7,9 milhões de petabytes). Com 
as previsões para o futuro, em 2019, o Big Data deve chegar a um yottabyte que é 
equivalente a mil zettabytes. O tamanho dos conjuntos de dados que são utilizados 
para Big Data ampliou suas capacidades de ferramentas de dados tradicionais para 
manutenção simples de dados.
Velocidade
A velocidade representa a velocidade com que os dados devem ser mantidos e analisados. 
Os dados podem ser descritos como aumentando rapidamente a quantidade de dados 
não estruturados da quantidade cada vez maior de fluxos de fontes pela Internet.
25
ArquiteturA e OrgAnizAçãO de dAdOs │ unidAde i
Variedade
O Big Data mantém a análise de dados estendendo a diversidade de dados úteis para 
análise. Ele une o valor dos dados que são mantidos nos bancos de dados estruturados 
tradicionais com o valor significativo de novos dados que são acessados a partir dos 
dados não estruturados. O termo “dados não estruturados” está implícito na quantidade 
crescente de dados que não são ordenados. Os dados não estruturados contêm o 
conteúdo criado pelo usuário a partir das redes sociais, imagens, vídeos, dados do 
sensor, arquivos da web, pesquisas etc. Atualmente, aproximadamente 95% dos dados 
totais existentes na Terra são considerados não estruturados. Essas fontes de dados 
podem tornar a inteligência comercial altamente essencial.
interações no mundo
Diversas empresas populares de consumo aumentaram globalmente seu uso de Big 
Data. Por exemplo, o Facebook utiliza Big Data para rastrear o comportamento do 
usuário na rede social. Além disso, a empresa oferece suas novas recomendações de 
amigos, descobrindo quem mais você pode conhecer. Quanto mais amigos você fizer, 
maior a probabilidade de manter sua conta do Facebook. Ter mais amigos significa que 
você pode ver mais conteúdo, compartilhar mais fotos e vídeos e postar uma quantidade 
maior de atualizações de status. Outro grande exemplo é o site de rede de negócios 
LinkedIn, que utiliza Big Data para correspondência de candidatos a emprego com seus 
potenciais empregadores. Os headhunters podem selecionar e entrar em contato com 
o gerente de contratação da empresa por meio de uma pesquisa simples. Ambas as 
empresas se tornaram públicas nos últimos anos – as ações do Facebook começaram a 
estar disponíveis na NASDAQ, LinkedIn na NYSE. Enquanto o Facebook, o LinkedIn e 
o Google são empresas de consumo na superfície, no núcleo elas pertencem a grandes 
empresas de Big Data.
Se existe uma empresa de tecnologia em todo o mundo que exige e sintetiza tanto o 
Big Data, pode ser apenas o gigante dos mecanismos de busca Google Inc. Segundo os 
registros oficiais do Google, a empresa mantém pelo menos um trilhão de consultas 
por ano. Ao armazenar as informações dos resultados da pesquisa, o Google recebe 
informações sobre o comportamento de pesquisa do indivíduo. Isso dá ao Google a 
oportunidade de otimizar a publicidade e gerar receita com o tráfego da Web, como 
nenhuma outra empresa no mundo poderia fazer. Para manter os dados, os engenheiros 
do Google criaram as inovadoras tecnologias de Big Data.
26
UNIDADE I │ ArqUItEtUrA E OrgANIzAçãO DE DADOs
Os provedores de serviços financeiros utilizam a análise de big data para desenvolver 
sua análise de clientes com vistas a determinar a capacidade do cliente para capital, 
crédito, seguro e assim por diante.
Serviços de saúde trabalham com registros eletrônicos de saúde de seus pacientes 
que recebem de várias fontes, como tratamentos, dados demográficos e imagens. 
As empresas farmacêuticas criam suas próprias soluções de Big Data para monitorar 
a eficácia dos medicamentos e fornecer um desenvolvimento rápido e mais eficaz de 
medicamentos.
As telecomunicações e os utilitários usam Big Data para explorar os comportamentos 
e as demandas do usuário, com vistas a implementar melhor a rede elétrica. 
Além disso, eles processam dados de sensores ambientais para descobrir as carências 
de infraestrutura e oferecem inteligência de gerenciamento de riscos mais produtiva.
Companhias aéreas e empresas de transporte de cargas utilizam Big Data para monitorar 
o consumo de combustível e o tráfego nas regiões, em tempo real, a fim de reduzir 
custos e de se tornarem mais eficientes.
design de plataforma de Big data
Coleta, armazenamento, processo, análise e aplicação de dados serão as tarefas 
básicas do desempenho da empresa na era da economia da sabedoria. Julgamento 
e decisão com base em dados tornar-se-ão as habilidades e os meios das empresas 
para o desenvolvimento. Uma plataforma que está em conformidade com o 
gerenciamento de big data e que suporta o desenvolvimento no campo de aplicação 
é projetada para a análise de desenvolvimento relevante da indústria, integração 
de dados heterogêneos e requisitos de usuário personalizados etc. A plataforma é 
baseada na arquitetura Hadoop, contando com HDFS, MapReduce e MongoDB etc., 
através de uma estrutura distribuída, os quais são implantados em equipamentos de 
hardware mais baratos, para o aplicativo com mecanismo de acesso de dados de alto 
rendimento (CHEN et al., 2016). 
O HDFS, como sistema de arquivos distribuídos de software livre, suporta 
armazenamento de dados e gerenciamento de alta tolerância a falhas. O HDFS é uma 
implementação de software livre do GFS, que pode ser implementado em dispositivos 
de PC baratos, é um aplicativo adequado para grandes volumes de dados. O HDFS 
tem uma estrutura de modo mestre-escravo. No cluster, há um NameNode e vários 
DataNodes, que são responsáveis pela opção de armazenamento de dados e namespace, 
armazenamento de banco de dados e escolha de estratégia ideal. O MapReduce é 
27
ArquiteturA e OrgAnizAçãO de dAdOs │ unidAde i
proposto pelo Google para o modelo de programação paralela de dados em massa 
de processamento simultâneo. Tem as características de simples e eficiente para o 
mecanismo de blindagem dos detalhes de implementação subjacentes, efetivamente 
reduzindo a dificuldade de programação. 
Clusters de implantação de máquina baratos podem ser usados para alcançar alto 
desempenho com boa escalabilidade e fornecer interface de agendamento altamente 
eficiente, implementando agendamento de tarefas, balanceamento de carga e tolerância 
a falhas e gerenciamento de consistência etc. O MongoDB suporta vários binários e dois 
tipos de formas de armazenamento, pois o subsistema de armazenamento é dividido 
automaticamente e dividido pelo usuário. Para realizar o balanceamento de carga, o 
MongoDB implementa o armazenamento distribuído em vários servidores para o 
mesmo arquivo de dados direcionado para um bloco múltiplo. Não haverá necessidade 
de o usuário saber onde os dados estão armazenados para que os servidores gravem o 
fragmento.
Os requisitos de aplicativos de negócios incluem aquisição, coleta e análise e aplicação 
de dados. Uma plataforma unificada de aplicativos de dados será criada para 
carregamento, armazenamento e processamento em tempo real de dados de diferentes 
tipos de dados. Ferramentas e serviços de processamento de dados são integrados para 
o gerenciamento de dados heterogêneos.A ferramenta de análise de data warehouse estruturada e não estruturada também está 
integrada. A plataforma pode implementar a concentração de grande compartilhamento 
de dados e acesso colaborativo a qualquer hora, em qualquer lugar, por qualquer 
equipamento terminal. A plataforma de aplicativos pode suportar a modelagem de 
desenvolvimento de novos negócios e estratégia de negócios, além de promover o 
desenvolvimento do insight do setor, a análise de alertas antecipados em tempo real.
Plataforma de aplicação de dados grande pode satisfazer os requisitos de processamento 
de dados de grande quantidade, estilo múltiplo e fluxo rápido. Também possui 
a capacidade de implementar grandes quantidades de coleta, armazenamento, 
processamento e análise de dados, atender aos requisitos básicos de alta confiabilidade, 
fácil extensibilidade, forte tolerância a falhas, alta disponibilidade, alta segurança e alto 
sigilo do aplicativo corporativo, garantir compatibilidade da tecnologia existente com a 
plataforma e realizar armazenamento e processamento de dados.
A plataforma de aplicação de Big Data está em conformidade com dois sistemas padrão, 
o sistema padrão de segurança do sistema e o sistema padrão de gerenciamento de 
serviços. Plataforma de Big Data no Hadoop e plataforma de integração de dados em 
data warehouse implementam muito armazenamento, análise, processamento e uso de 
28
UNIDADE I │ ArqUItEtUrA E OrgANIzAçãO DE DADOs
dados, incluindo camada frontal, camada core, camada de gerenciamento, camada de 
dados e camada de aplicação etc., aquisição de dados, análise inteligente, processamento 
em tempo real é integrado para criar uma plataforma de integração e gerenciamento 
de dados. 
São objetivos do Big Data:
 » Redução de custos - reduções de custos e melhorias significativas 
para a realização das tarefas atribuídas no tempo especificado, 
implementando tecnologias de informação.
 » Redução de Tempo - otimizar os processos de trabalho, o que leva à 
redução do tempo de implementação das tarefas atribuídas.
 » Desenvolvendo novas ofertas baseadas em Big Data – gama de oferta 
de produtos usando Big Data e dados científicos.
 » Suportando decisões internas de negócios – ter/ser uma fonte de 
dados estruturada para tomada de decisão interna das empresas.
instalação e configuração do ambiente Hadoop 
para Big data
O Hadoop é suportado pela plataforma GNU/Linux. Portanto, temos de instalar um 
sistema operacional Linux para configurar o ambiente do Hadoop. Caso você tenha um 
sistema operacional diferente do Linux, você pode instalar um software Virtualbox nele 
e ter o Linux dentro do VirtualBox (PVT, 2014).
Configuração de pré-instalação
Antes de instalar o Hadoop no ambiente Linux, precisamos configurar o Linux usando 
o ssh (Secure Shell). Siga os passos abaixo para configurar o ambiente Linux.
Criando um usuário
No início, é recomendável criar um usuário separado para o Hadoop para isolar o 
sistema de arquivos Hadoop do sistema de arquivos Unix. Siga as etapas abaixo para 
criar um usuário:
 » Abra a raiz usando o comando “su”.
 » Crie um usuário a partir da conta root usando o comando “useradd 
username”.
29
ArquiteturA e OrgAnizAçãO de dAdOs │ unidAde i
 » Agora você pode abrir uma conta de usuário existente utilizando o 
comando “su username”.
 » Abra o terminal Linux e digite os seguintes comandos para criar um 
usuário.
$ su
password:
# useradd hadoop
# passwd hadoop
New passwd:
Retype new passwd
SSH Setup and Key generation
A configuração do SSH é necessária para executar operações diferentes em um cluster, 
como iniciar, parar e distribuir operações do daemon. Para autenticar diferentes 
usuários do Hadoop, é necessário fornecer um par de chaves pública / privada para um 
usuário do Hadoop e compartilhá-lo com diferentes usuários. Os seguintes comandos 
são usados para gerar um par de valores de chave utilizando-se de SSH. Copie as chaves 
públicas do id_rsa.pub para authorized_keys e forneça ao proprietário permissões de 
leitura e gravação para o arquivo authorized_keys, respectivamente.
$ ssh-keygen -t rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 0600 ~/.ssh/authorized_key
instalando Java
Java é o principal pré-requisito para o Hadoop. Primeiro de tudo, você deve verificar 
a existência de java em seu sistema usando o comando “java -version”. A sintaxe do 
comando da versão java é fornecida abaixo.
$ java -version
Se tudo estiver em ordem, ele fornecerá a seguinte saída.
java version “1.7.0_71”
Java(TM) SE Runtime Environment (build 1.7.0_71-b13)
Java HotSpot(TM) Client VM (build 25.0-b02, mixed mode)
30
UNIDADE I │ ArqUItEtUrA E OrgANIzAçãO DE DADOs
Se o java não estiver instalado em seu sistema, siga as etapas abaixo para instalar o java.
Passo 1
Faça o download de java (JDK <versão mais recente> - X64.tar.gz) visitando o seguinte 
link:
< h t t p : / / w w w . o r a c l e . c o m / t e c h n e t w o r k / j a v a / j a v a s e / d o w n l o a d s / j d k 7 -
downloads-1880260.html>.
Então jdk-7u71-linux-x64.tar.gz será baixado em seu sistema.
Passo 2
Geralmente você encontrará o arquivo java baixado na pasta Downloads. Verifique e 
extraia o arquivo jdk-7u71-linux-x64.gz usando os seguintes comandos.
$ cd Downloads/
$ ls
jdk-7u71-linux-x64.gz
$ tar zxf jdk-7u71-linux-x64.gz
$ ls
jdk1.7.0_71 jdk-7u71-linux-x64.gz
Passo 3
Para tornar o java disponível para todos os usuários, você deve movê-lo para o 
local “/ usr / local /”. Abra a raiz e digite os seguintes comandos.
$ su
password:
# mv jdk1.7.0_71 /usr/local/
# exit
Passo 4
Para configurar as variáveis PATH e JAVA_HOME, inclua os seguintes comandos no 
arquivo ~ / .bashrc.
31
ArquiteturA e OrgAnizAçãO de dAdOs │ unidAde i
export JAVA_HOME=/usr/local/jdk1.7.0_71
export PATH=PATH:$JAVA_HOME/bin
Agora aplique todas as alterações no sistema atual em execução.
$ source ~/.bashrc
Passo 5
Use os seguintes comandos para configurar alternativas de java:
# alternatives --install / usr / bin / java em java usr / local / java / bin / java 2
# alternatives --install / usr / bin / javac / usr / local / java / bin / javac 2
# alternatives --install / usr / bin / jar jar usr / local / java / bin / jar 2
# alternatives --set java usr / local / java / bin / java
# alternativas --set javac usr / local / java / bin / javac
# alternatives --set jar usr / local / java / bin / jar
Agora verifique a instalação usando o comando java -version do terminal, conforme 
explicado acima.
Baixando o Hadoop
Faça o download e extraia o Hadoop 2.4.1 da fundação de software Apache usando os 
seguintes comandos:
$ su 
password:
# cd /usr/local
# wget http://apache.claz.org/hadoop/common/hadoop-2.4.1/
hadoop-2.4.1.tar.gz
# tar xzf hadoop-2.4.1.tar.gz
# mv hadoop-2.4.1/* to hadoop/
# exit
32
UNIDADE I │ ArqUItEtUrA E OrgANIzAçãO DE DADOs
Modos de operação do Hadoop
Depois de fazer o download do Hadoop, você pode operar seu cluster do Hadoop em 
um dos três modos suportados:
 » Modo Local / Autônomo: Após o download do Hadoop no seu sistema, 
por padrão, ele é configurado em um modo independente e pode ser 
executado como um único processo java.
 » Modo Pseudo Distribuído: É uma simulação distribuída em uma única 
máquina. Cada daemon do Hadoop, como hdfs, yarn, MapReduce etc., 
será executado como um processo java separado. Esse modo é útil para o 
desenvolvimento.
 » Modo totalmente distribuído: esse modo é totalmente distribuído com, no 
mínimo, duas ou mais máquinas como um cluster. Nós nos depararemos 
com esse modo em detalhes nos próximos capítulos.
instalando o Hadoop no modo autônomo
Aqui vamos discutir a instalação do Hadoop 2.4.1 no modo standalone. Não há daemons 
em execução e tudo é executado em uma única JVM. O modo autônomo é adequado 
para executar programas MapReduce durante o desenvolvimento, já que é fácil 
testá-los e depurá-los.
Configurando o Hadoop
Você pode definir variáveis de ambiente do Hadoop anexandoos seguintes comandos 
ao arquivo ~ / .bashrc.
export HADOOP_HOME=/usr/local/hadoop
Antes de continuar, você precisa se certificar de que o Hadoop esteja funcionando bem. 
Basta emitir o seguinte comando:
$ hadoop version
Se está tudo bem com a sua configuração, então você deve ver o seguinte resultado:
Hadoop 2.4.1
Subversion https://svn.apache.org/repos/asf/hadoop/common -r 1529768
Compiled by hortonmu on 2013-10-07T06:28Z
33
ArquiteturA e OrgAnizAçãO de dAdOs │ unidAde i
Compiled with protoc 2.5.0
From source with checksum 79e53ce7994d1628b240f09af91e1af4
Isso significa que a configuração do modo autônomo do seu Hadoop está funcionando 
bem. Por padrão, o Hadoop é configurado para ser executado em um modo não 
distribuído em uma única máquina.
34
unidAdE ii
ArquitEturA 
dE ColEtA E 
ArMAzEnAMEnto 
dE dAdoS
Sistemas de gerenciamento de banco de dados relacional (RDBMSs) são sistemas de 
armazenamento tradicionais projetados para dados estruturados e acessados por meio 
de SQL. Os RDBMSs estão enfrentando desafios ao manipular Big Data e fornecendo 
escalabilidade horizontal, disponibilidade e desempenho exigidos pelos aplicativos 
Big Data. Em contraste com os bancos de dados relacionais, o MapReduce fornece 
escalabilidade computacional, mas se baseia no armazenamento de dados em um 
sistema de arquivos distribuído como o GFS (Sistema de Arquivos do Google) ou o HDFS. 
Os armazenamentos de dados do NoSQL e do NewSQL surgiram como alternativas 
ao Big Armazenamento de dados. NoSQL refere-se a “Not Only SQL”, destacando 
que o SQL não é um objetivo crucial desses sistemas. Suas principais características 
definidoras incluem flexibilidade de esquema e escalonamento efetivo sobre um grande 
número de máquinas commodity (HAMMAD et al., 2015).
A escalabilidade horizontal NoSQL inclui escalonamento de armazenamento de 
dados, bem como escalonamento de operações de leitura/gravação (GROLINGER; 
HIGASHINO; CAPRETZ, 2013). Analise os recursos que impulsionam a capacidade 
dos sistemas NoSQL de dimensionar, como particionamento, replicação, consistência 
e controle de concorrência. Os sistemas NoSQL normalmente adotam o paradigma 
MapReduce e enviam o processamento para os nós nos quais os dados estão localizados 
para dimensionar operações de leitura com eficiência. Consequentemente, a análise de 
dados é realizada por meio de jobs do MapReduce. MapReduce em si é livre de esquema 
e livre de índice, isso proporciona grande flexibilidade e permite que o MapReduce 
trabalhe com dados semiestruturados e não estruturados. Além disso, o MapReduce 
pode ser executado assim que os dados são carregados. No entanto, a falta de índices no 
MapReduce padrão pode resultar em um desempenho ruim em comparação aos bancos 
de dados relacionais. Isso pode ser compensado pela escalabilidade e paralelização do 
MapReduce.
Os fornecedores de banco de dados, como o Oracle, fornecem o MapReduce no banco de 
dados, aproveitando a paralelização do banco de dados. Outro exemplo de fornecimento 
de recursos analíticos em uma base de dados é o projeto MAD Skills (COHEN et al., 2009), 
35
ArquiteturA de ColetA e ArmAzenAmento de dAdos │ unidAde ii
que implementa o MapReduce no banco de dados usando um mecanismo de execução 
de tempo de execução SQL.
As funções Map e Reduce são escritas em Python, Perl ou R e passadas para o banco 
de dados para execução. Os sistemas NoSQL da família de colunas e categorias de 
documentos adotam o paradigma MapReduce, fornecendo suporte a vários métodos 
de indexação. Nessa abordagem, os trabalhos do MapReduce podem acessar dados 
usando o índice, portanto o desempenho da consulta é significativamente melhorado. 
Por exemplo, o Cassandra suporta índices primários e secundários (Apache Cassandra). 
No CouchDB (ANDERSON; SLATER, 2010), a principal maneira de consultar e relatar 
é através de visões que usam o paradigma MapReduce com JavaScript como uma 
linguagem de consulta. Uma visão consiste em uma função Mapa e uma função Reduzir 
opcional. Os dados emitidos pela função Mapa são usados para construir um índice e, 
consequentemente, as consultas contra essa visualização são executadas rapidamente.
Outro desafio relacionado ao MapReduce e ao armazenamento de dados é a falta de 
uma linguagem padronizada semelhante a SQL. Portanto, uma direção de pesquisa 
está preocupada em fornecer SQL sobre MapReduce. Um exemplo dessa categoria é 
o Apache Hive, que fornece uma linguagem semelhante a SQL sobre o Hadoop. Outro 
esforço do Apache, o Mahout (Apache Mahout), visa a criar bibliotecas escaláveis de 
aprendizado de máquina sobre o MapReduce. Embora esses esforços forneçam recursos 
poderosos de processamento de dados, eles não possuem recursos de gerenciamento de 
dados, como indexação avançada e um otimizador sofisticado.
As soluções NoSQL escolhem diferentes abordagens para fornecer habilidades de 
consulta: Cassandra e MongoDB fornecem consultas semelhantes a SQL proprietárias, 
enquanto o HBase usa o Hive. É importante destacar os esforços de integração entre 
bancos de dados tradicionais, MapReduce e Hadoop. Por exemplo, o conector Oracle 
SQL para HDFS (Oracle 2014) fornece capacidade de consultar dados no Hadoop no 
banco de dados usando SQL. O Oracle Data Integrator for Hadoop gera consultas 
semelhantes à Hebraide, que são transformadas em MapReduce nativo e executadas 
em clusters do Hadoop.
Embora os esforços apresentados tenham avançado o estado da arte para 
armazenamento de dados e MapReduce, vários desafios permanecem, como:
 » a falta de uma linguagem de consulta padronizada semelhante a SQL;
 » otimização limitada de trabalhos MapReduce;
 » integração entre MapReduce, sistema de arquivos distribuídos, 
repositórios RDBMSs e NoSQL.
36
UNIDADE II │ ArqUItEtUrA DE ColEtA E ArmAzENAmENto DE DADos
No Big Data Big, o tamanho dos dados está crescendo continuamente, por outro lado, 
aumentar a velocidade da capacidade de armazenamento é muito menor do que a 
quantidade crescente de dados. A reconstrução da estrutura de informação disponível é 
necessária para formar uma estrutura hierárquica, porque os pesquisadores chegaram 
à conclusão de que os SGBDs disponíveis não são adequados para processar a grande 
quantidade de dados. Arquitetura comumente utilizada para processamento de dados 
utiliza o servidor de banco de dados, servidor de banco de dados possui restrição de 
escalabilidade e custo que são objetivos primordiais de Big Data. Um modelo de negócios 
diferente tem sido sugerido pelos provedores de banco de dados, mas basicamente esses 
são específicos do aplicativo.
O Google parece estar mais interessado em pequenos aplicativos. O Big Data Storage é 
outro grande problema no gerenciamento de Big Data, pois os algoritmos de computador 
disponíveis são suficientes para armazenar dados homogêneos, mas não são capazes de 
armazenar dados de forma inteligente em tempo real devido ao seu comportamento 
heterogêneo. Então, como reorganizar os dados é outro grande problema no contexto do 
Big Data Management. A tecnologia de servidor virtual pode aguçar o problema porque 
aumenta o problema de recursos supercomprometidos, especialmente quando há falta 
de comunicação entre o servidor de aplicativos e o administrador de armazenamento. 
Também precisa resolver o problema de E/S simultânea e uma arquitetura 
mestre/escravo de nó único.
37
CAPítulo 1
ferramentas
Várias estruturas MapReduce (por exemplo, Apache Hadoop, Skynet, Sailfish e 
FileMap) foram desenvolvidas para lidar com dados massivos estruturados e não 
estruturados. Na verdade, eles permitem armazenar e processar grandes volumes de 
dados imutáveis (como logs ou objetos binários grandes), bem como dados coletados 
de forma incremental (como rastreamentos da web, comentários de usuários em redes 
sociais, dados de GPS ou eventos de sensores). Eles são eficientes para muitos casos de 
uso (como análise de arquivos de log, simulações científicas ou previsões financeiras). 
Tais estruturassão baseadas em muitos conceitos sólidos, incluindo os seguintes 
(HAMMAD et al., 2015):
 » Armazenamento distribuído: a maioria das plataformas de Big Data, 
como Hadoop e Disco, são baseadas em armazenamento distribuído de 
dados. Ao contrário dos sistemas tradicionais, eles armazenam blocos de 
arquivos muito grandes em vários nós. Eles são projetados para serem 
executados em hardware de baixo custo e fornecem acesso de alta 
velocidade aos conjuntos de dados.
 » MPP (Massive Parallel Processing): as várias tarefas demoradas, de 
aplicativos Big Data, são processadas em paralelo em vários servidores. 
O MPP ajuda a evitar a cópia de dados distantes para executar cálculos. 
Executa tarefas onde os dados são armazenados para minimizar o 
congestionamento da rede e garantir um processamento rápido.
 » Sistema tolerante a falhas e dimensionável: para garantir que não 
haja ponto de falha, os sistemas Big Data geralmente são baseados em 
uma arquitetura Master-Slave confiável e replicação de dados (como o 
Hadoop) ou no conceito de recuperação de ponto.
Links úteis
Alguns dos links possuem os passos necessários para instalação do ambiente. 
Basta segui-los e instalar as ferramentas.
Apache Hadoop
<http://hadoop.apache.org/releases.html>.
38
UNIDADE II │ ArqUItEtUrA DE ColEtA E ArmAzENAmENto DE DADos
Skynet
<https://github.com/wonko9/skynet>.
Sailfish
<https://github.com/sriramsrao/sailfish>.
FileMap
<https://github.com/mfisk/filemap>.
A maioria das soluções oferecia a possibilidade de adicionar clusters e componentes para 
lidar com mais dados e processamento massivo. Na maioria das vezes, os componentes 
gratuitos e proprietários são criados no topo das plataformas de Big Data de software 
livre, como o caso da Hortonworks Data Platform (HDP) e IBM InfoSphere BigInsights. 
O objetivo é oferecer soluções completas de ecossistema de Big Data. De fato, eles 
pretendem alavancar as estruturas do MapReduce, simplificar seu uso e estender suas 
capacidades. Muitas soluções e ferramentas de Big Data estão disponíveis conforme 
apresentado a seguir:
» Ferramentas para integração de Big Data (como Sqoop, Flume e DataLoader);
» Ferramentas para gerenciar recursos, fluxos de trabalho e serviços (como 
Cloudera Manager, Yarn, Oozie e Zookeeper);
» Ferramentas para lidar com serviços de metadados (como o Hcatalog);
» Ferramentas para análise de dados (como a linguagem de programação R, 
Mahout, Chukwa e Teradata Analytical Ecosystem);
» Ferramentas para pesquisa interativa e consulta nativa (como a pesquisa 
Cloudera, o Sphinx Search Server e o Facebook Unicorn, que é um sistema de 
indexação na memória online projetado para pesquisar trilhões de contornos 
entre dezenas de bilhões de entidades em milhares de servidores comuns);
» Ferramentas para visualização de dados (como Advisor, Visual Analytics e 
Centrifuge). Com essas múltiplas tecnologias, os gerentes podem confiar em 
soluções rápidas, econômicas, tolerantes a falhas, escaláveis e fáceis de usar. 
Os gerentes podem escolher uma solução completa ou adicionar, conforme 
necessário, componentes às infraestruturas existentes. Por exemplo, o Oracle 
Big Data Appliance (white paper da Oracle 2013) combina, em um sistema, 
o poder do hardware otimizado de padrões industriais, a experiência em 
39
ArquiteturA de ColetA e ArmAzenAmento de dAdos │ unidAde ii
software da Oracle e as vantagens dos componentes de código aberto do 
Apache Hadoops.
t1. Bancos de dados para Big data
noSql
O RDMS (Sistema de Gerenciamento de Banco de Dados Relacional) requer a 
estruturação de dados em formatos definidos, o que não é adequado no contexto de 
Big Data, no qual são gerados volumes rápidos e enormes de dados não estruturados. 
Para enfrentar esse desafio, vários bancos de dados NoSQL foram desenvolvidos para 
manipular dados não relacionais e não estruturados como o HBase, o Cassandra, o 
DynamoDB, o MongoDB, o Riak, o Redis, o Accumulo, o Couchbase, e assim por diante. 
Eles suportam um ou mais modelos de dados, incluindo: pares de valores-chave, 
documentos orientados a documentos (tais como JSON, BSON, XML, HTML), gráficos 
(projetados para dados altamente conectados), colunas amplas e dados geoespaciais. 
Os bancos de dados NoSQL fornecem uma maneira mais barata (do que o RDMS) de 
manipular o armazenamento e o gerenciamento de Big Data em ambiente distribuído. 
Esses bancos de dados oferecem diferentes níveis de tolerância a falhas e disponibilidade 
de dados (HAMMAD et al., 2015).
newSql
Bancos de dados NoSQL têm muitas desvantagens que impulsionaram o desenvolvimento 
de bancos de dados NewSQL. Na verdade, eles geralmente não suportam indexação e 
consulta SQL. Eles também costumam ser lentos na manipulação de grandes consultas. 
Além disso, ao contrário do RDBMS, eles não garantem os princípios do ACID para 
transações confiáveis. Para resolver essas limitações, o NewSQL foi desenvolvido para 
aplicativos Big Data. Ele constitui um novo sistema de gerenciamento de banco de 
dados relacional baseado em uma arquitetura distribuída (MARIJANA, 2013). Bancos 
de dados NewSQL mesclam o melhor das duas tecnologias precedentes, o RDBMS e o 
NoSQL. O NewSQL fornece propriedades ACID e consulta SQL. Ele também permite 
garantir boa disponibilidade de dados e desempenho do processamento de transações 
online.
[sintetizando] 
Links úteis:
40
UNIDADE II │ ArqUItEtUrA DE ColEtA E ArmAzENAmENto DE DADos
Oracle NoSQL
<http://www.oracle.com/technetwork/database/nosqldb/downloads/
default-495311.html>.
Vídeo: <https://www.youtube.com/watch?v=890222oPMmM>.
DevMedia: <https://www.devmedia.com.br/introducao-aos-bancos-de-dados-
nosql/26044>.
NewSQL
<https://sourceforge.net/projects/newsql/>.
Vídeo: <https://www.youtube.com/watch?v=PqnlmANE8Lk>.
Curso SQL: <https://www.devmedia.com.br/curso/curso-de-sql/1895>.
Searching and indexing
Os métodos de pesquisa tradicionais não são adaptados ao ambiente distribuído e 
à complexidade do Big Data. As empresas precisam executar consultas extensas em 
tempo real por meio de grandes volumes de conjuntos de dados estruturados e não 
estruturados. Essa demanda levou ao desenvolvimento de mecanismos de pesquisa 
escaláveis com base em tecnologias de pesquisa e indexação adequadas, como o Lucene 
e o Splunk Processing Language.
Cadeia de valor Big data
Value Chain, conceito introduzido por Porter (1980), refere-se a um conjunto de 
atividades realizadas por uma firma para agregar valor em cada etapa de entrega de 
um produto/serviço a seus clientes. De forma semelhante, a cadeia de valores de dados 
refere-se à estrutura que lida com um conjunto de atividades para criar valor a partir dos 
dados disponíveis. Pode ser dividido em sete fases: (a) geração de dados, (b) coleta de 
dados, (c) transmissão de dados, (d) pré-processamento de dados, (e) armazenamento 
de dados, (f) análise de dados e (g) tomada de decisão (BHADANI; JOTHIMANI, 2016).
geração de dados
O primeiro e mais importante passo da cadeia de valor de big data é a geração de dados. 
Conforme discutido na seção anterior, os dados são gerados a partir de várias fontes 
41
ArquiteturA de ColetA e ArmAzenAmento de dAdos │ unidAde ii
que incluem dados de registros de detalhes de chamadas (CDR), blogs, tweets e página 
do Facebook.
Coleção de dados
Nesta fase, os dados são obtidos de todas as fontes de dados possíveis. Por exemplo, 
para prever a rotatividade de clientes em Telecom, os dados podem ser obtidos de CDRs 
e opiniões/reclamações dos clientes em sites de redes sociais como Twitter (na forma 
de tweets) e Facebook (opiniões compartilhadas na página da empresa no Facebook). 
Os métodos mais usados são arquivos de log, sensores, rastreadores da web e software 
de monitoramento de rede.
transmissão de dados
Depois que os dados são coletados, eles são transferidos para uma infraestrutura de 
armazenamento e processamento de dados para processamento e análise adicionais. 
Pode ser realizado em duas fases: transmissão derede de circuito interdinâmico (DCN) 
e transmissões Intra-DCN. A transmissão inter-DCN lida com a transferência de dados 
da fonte de dados para o centro de dados, enquanto a última ajuda na transferência 
dentro do centro de dados. Além do armazenamento de dados, o data center ajuda na 
coleta, organização e gerenciamento de dados.
Pré-processamento de dados
Os dados coletados de várias fontes de dados podem ser redundantes, ruidosos e 
inconsistentes, portanto, nesta fase, os dados são pré-processados para melhorar 
a qualidade dos dados necessários para análise. Isso também ajuda a melhorar a 
precisão da análise e reduzir as despesas de armazenamento. Os dados podem ser 
pré-processados com a ajuda das seguintes etapas:
I. Integração: Os dados de várias fontes são combinados para fornecer uma 
visão unificada e uniforme dos dados disponíveis. Federação de dados e 
data warehousing são os dois métodos tradicionais mais usados. O Data 
Warehousing executa o processo Extrair, Transformar e Carregar (ETL). 
Durante o processo de extração, os dados são selecionados, coletados, 
processados e analisados. O processo de converter os dados extraídos 
em um formato padrão é chamado de processo de transformação. No 
carregamento, os dados extraídos e transformados são importados 
para uma infraestrutura de armazenamento. Para tornar a integração 
42
UNIDADE II │ ArqUItEtUrA DE ColEtA E ArmAzENAmENto DE DADos
de dados dinâmica, os dados podem ser agregados de várias fontes de 
dados usando um banco de dados virtual. Ele não contém nenhum dado, 
mas os detalhes sobre as informações relacionadas aos dados originais 
ou metadados podem ser obtidos (MILLER; MORK, 2013; CHEN et al., 
2014).
II. Limpeza: Os dados são verificados quanto à exatidão, integridade e 
consistência. Durante esse processo, os dados podem ser excluídos e 
modificados para melhorar a qualidade. O processo geral seguido inclui 
cinco processos: tipos de erros são definidos e determinados, erros são 
identificados a partir dos dados, erros são corrigidos, tipos de erros e 
exemplos correspondentes são documentados e procedimento de entrada 
de dados pode ser modificado para evitar erros futuros (MALETIC; 
MARCUS, 2000).
III. Eliminação de Dados Redundantes: Muitos conjuntos de dados possuem 
dados excedentes ou repetições de dados e são conhecidos como 
redundância de dados. Isso aumenta o custo de armazenamento, leva 
a inconsistência de dados e afeta a qualidade dos dados. Para superar 
isso, vários métodos de redução de dados, como filtragem de dados 
e compactação, são usados. A limitação dessas técnicas de redução de 
dados é que elas aumentam o custo computacional. Assim, uma análise 
de custo-benefício deve ser realizada antes de usar técnicas de redução 
de dados.
Armazenamento de dados
Os sistemas de armazenamento de big data devem fornecer espaço de armazenamento 
confiável e acesso eficiente aos dados. Os sistemas de armazenamento distribuído para 
big data devem considerar fatores como consistência (C), disponibilidade (A) e tolerância 
à partição (P). De acordo com a teoria CAP proposta por Brewer (2000), os sistemas 
de armazenamento distribuído poderiam atender a dois requisitos simultaneamente, 
ou seja, consistência e disponibilidade, ou disponibilidade e tolerância à partição, ou 
consistência e tolerância à partição, mas nem todos os requisitos simultaneamente. 
Pesquisas consideráveis ainda estão em andamento na área de mecanismo de 
armazenamento de big data. Pouco avanço a esse respeito é o Sistema de Arquivos do 
Google (GFS), Dynamo, BigTable, Cassandra, CouchDB e Dryad.
43
ArquiteturA de ColetA e ArmAzenAmento de dAdos │ unidAde ii
Análise de dados
Depois que os dados são coletados, transformados e armazenados, o próximo processo 
é a exploração de dados ou análise de dados, que é enumerada usando as seguintes 
etapas:
I. Definir métricas: com base nos dados coletados e transformados, 
um conjunto de métricas é definido para um problema específico. 
Por exemplo, para identificar um cliente em potencial que vai se desfazer, 
um número de vezes que ele contatou (seja através de uma chamada de 
voz, tweets ou reclamações na página do Facebook) pode ser considerado.
II. Selecione a arquitetura com base no tipo de análise: com base na 
pontualidade da análise a ser executada, a arquitetura adequada é 
selecionada. A análise em tempo real é usada no domínio em que os 
dados continuam mudando constantemente, e há uma necessidade de 
análise rápida para executar ações. Computações baseadas em memória 
e sistemas de processamento paralelo são as arquiteturas existentes. 
Detecção de fraude nos setores de varejo e fraude de telecomunicações 
são exemplos de análise em tempo real. Os aplicativos que não exigem 
tempo de resposta alto são executados usando a análise offline. Os dados 
podem ser extraídos, armazenados e analisados relativamente mais tarde 
no tempo. A arquitetura geralmente usada é a plataforma Hadoop.
III. Seleção de algoritmos e ferramentas apropriados: uma das etapas mais 
importantes da análise de dados é a seleção de técnicas apropriadas para 
análise de dados. Poucas técnicas de análise de dados tradicionais, como 
análise de cluster, análise de regressão e algoritmos de data mining, ainda 
são válidas para a análise de big data. A análise de cluster é uma técnica 
não supervisionada que agrupa objetos com base em alguns recursos. 
As técnicas de mineração de dados ajudam a extrair informações 
desconhecidas, ocultas e úteis de um enorme conjunto de dados. 
Várias ferramentas estão disponíveis para análise de dados, incluindo 
softwares de código aberto e softwares comerciais. Alguns exemplos de 
softwares de código aberto são R para mineração de dados e visualização, 
Weka/Pentaho para aprendizado de máquina e RapidMiner para 
aprendizado de máquina e análise preditiva.
IV. Visualização de dados: a necessidade de inspecionar detalhes em 
múltiplas escalas e detalhes minuciosos deu origem à visualização de 
dados. Interfaces visuais, juntamente com análises estatísticas e contexto 
44
UNIDADE II │ ArqUItEtUrA DE ColEtA E ArmAzENAmENto DE DADos
relacionado, ajudam a identificar padrões em grandes dados ao longo do 
tempo (FISHER et al., 2012). O Visual Analytics (VA) é definido como “a 
ciência do raciocínio analítico facilitada por interfaces interativas visuais” 
(THOMAS; COOK, 2005). Poucas ferramentas de visualização são o 
Tableau, o QlikView, o Spotfire, o JMP, o Jaspersoft, o Visual Analytics, a 
Centrifuge, o Visual Mining e o Board.
tomada de decisão
Com base na análise e nos resultados visualizados, os tomadores de decisão podem 
decidir se e como recompensar um comportamento positivo e alterar um negativo. 
Os detalhes de um problema específico podem ser analisados para entender as causas 
dos problemas, tomar decisões informadas e planejar ações necessárias.
ferramentas para coleta, pré-processamento e 
análise de grandes dados
O avanço na arquitetura de computação é necessário para lidar com os requisitos de 
armazenamento de dados e com o processamento de servidores pesados necessários 
para analisar economicamente grandes volumes e variedade de dados.
Com a disponibilidade de alta capacidade computacional a um custo relativamente 
barato, os pesquisadores podem explorar as oportunidades subjacentes do Big Data 
com o campo da ciência de dados. Cada vez mais, os dados não estão sendo capturados 
apenas para manutenção de registros, mas para explorá-los com sistemas inteligentes 
para obter novos insights, que podem não ter sido previstos no momento da coleta dos 
dados. Ao iniciar questões interessantes e refiná-las sem a intervenção de especialistas, 
ela se torna capaz de descobrir novas informações por conta própria. Por exemplo, se 
uma informação pode ser derivada de que um grupo específico de pessoas é propenso 
ao câncer e, ainda, fornecer outras informações, como suas dietas, hábitos diários e a 
natureza das drogas que

Continue navegando