Uploaded by Danilo Almeida Paiva

TRABALHO DA DISCIPLINA - PROCESSAMENTO DE DADOS MASSIVO

advertisement
UNIVERSIDADE FEDERAL DE MINAS GERAIS
DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO
ESPECIALIZAÇÃO EM INFORMÁTICA - ÁREA DE CONCENTRAÇÃO: GESTÃO DE
TECNOLOGIA DA INFORMAÇÃO
DANILO ALMEIDA PAIVA
Relatório da Disciplina de Processamento de Dados
Massivos
Brasília
2018
Resumo
O presente trabalho visa a registrar a pesquisa e discussão sobre as opções de
serviços e soluções voltadas especificamente para Processamento de Dados Massivos
(PDM) ofertadas pelos grandes provedores de nuvem (Amazon, Google, Microsoft,
outros).
Palavras-chave: PDM. Serviços PDM. Grandes provedores de nuvem.
2
1 Sobre a Amazon EMR
O principal macroserviço de PMD da Amazon denominado Elastic MapReduce
(EMR) é composto por um conjunto de funcionalidades e outros subserviços para o processamento e análise de Big Data. O EMR faz parte da Amazon Web Services (AWS)
- uma plataforma de serviços de computação em nuvem oferecida pela Amazon.com.
O EMR fornece o poder computacional e a infraestrutura sob demanda necessária
para resolver problemas complexos: entender grandes volumes e dados e descobrir
tendências (PHILLIPS; SCHMIDT, 2013).
O Amazon EMR é baseado no Hadoop, plataforma de software em Java de
computação distribuída voltada para clusters e processamento de grandes volumes de
dados, com atenção a tolerância a falhas. O projeto Hadoop foi inspirado no MapReduce e no GoogleFS (GFS) (WIKIPEDIA, 2018).
O usuário dos serviços da Amazon EMR contrata elementos de infraestrutura
que já estão pré-configurados - dessa forma existe um baixo custo com configuração
de ambiente - e paga pelo que foi efetuamente utilizado. Para a utililização do Amazon
EMR, o usuário estabelece o quantitativo inicial de nós de processadores a serem
utilizados na Amazon Elastic Compute Cloud (EC2) e o espaço de armazenamento
no Amazon Simple Storage Service (S3) - é o armazenamento persistente da AWS.
De acordo com a quantidade de dados de entrada e o prazo na obtenção de respostas,
os elementos de infraestrutura podem ser redimensionados para mais ou menos (por
isso o nome Elastic - de elasticidade).
A solução Amazon EMR é utilizada para análise de dados de logs, indexação
web, aprendizado de máquina, análise financeira, simulação científica, bioinformática,
até mesmo como armazém de dados (data warehousing) e suporta cargas de trabalho
baseadas em Apache Spark (solução de processamento massivo de dados distribuídos), Presto (mecanismo de consulta SQL distribuído de código aberto otimizado para
baixa latência e análise de dados ad-hoc) e Apache HBase (é a base de dados do
Hadoop, um repositório de Big Data distribuído e escalável) (ROUSE, 2017). HIVE
(armazém de dados que funciona a partir do HBase e provê busca de dados - data
query e análise) e PIG (abstração de linguagem de procedimentos mais simples sobre
o MapReduce) provém funcionalidades adicionais e podem ser acopladas à arquitetura.
O Yelp - aplicação voltada para a avaliação de serviços usa solução da AWS.
Capítulo 1. Sobre a Amazon EMR
Figura 1 – Cluster EMR Típico (PHILLIPS; SCHMIDT, 2013)
Figura 2 – Instalação Hadoop tradicional versus Arquitetura Amazon EMR
3
4
2 Sobre o Google Cloud Dataproc e Dataflow
O Cloud Dataproc é um dos serviços existentes da plataforma de serviços de
nuvem do Google (Google Cloud Plataform - GCP). Ele é capaz de criar e executar
clusters de Apache Spark e Apache Hadoop para o processamento massivo de dados
e se integra a outros serviços da GCP para oferecer, por exemplo, insights através
de visualizações. Essa solução é indicada para quem já tem conhecimentos nas
ferramentas Hadoop e possuem jobs de Hadoop.
Figura 3 – textbfCloud Dataproc - demora-se 90 segundos para cada operação: (1) começar, (2)
escalar e (3) desligar um cluster (MSV, 2015).
O Cloud Dataflow já é uma solução para executar jobs do tipo Apache Beam
e não é necessário considerar aspectos comuns de se criar clusters: balanceamento
de carga de trabalho, escalabilidade de nós; isso é automaticamente gerenciado. Os
jobs Beam permitem que se foque na computação lógica ao invés de em como os
nós executores funcionam em comparação com os jobs Spark, cujo o código está
relacionado ao executor e em como ele funciona.O Cloud Dataflow também oferece
a capacidade de se criar jobs baseados em templates, o que facilita tarefas rotineiras
nas quais as diferenças são apenas valores de parâmetros.
Figura 4 – Funcionamento do Dataflow com entradas, processamento, análise e
armazenamento (GOOGLE).
Capítulo 2. Sobre o Google Cloud Dataproc e Dataflow
5
As diferenças entre os modelos de programação Spark e Beam são grandes, e
existem casos de uso em que cada um apresenta grande vantagem sobre o outro.
Figura 5 – Qual utilizar? Dataproc ou Dataflow? Árvore de Decisão (GOOGLE)
O Google Cloud Dataproc e Dataflow se utilizam do serviço de armazém de
dados e analytics da GCP: BigQuery.
Figura 6 – Cargas de Trabalho recomendadas: Dataproc versus Dataflow (GOOGLE)
6
3 Microsoft Azure HDInsight
O Microsoft Azure HDInsight é o conjunto ou pilha de tecnologias ou também
denominado plataforma da Microsoft para processamento massivo de dados. É uma
distribuição em nuvem dos componentes do Hadoop da HDP (Hortonworks Data
Platform) em que se pode usar as estruturas de código aberto mais populares, como
Hadoop, Spark, Hive, LLAP, Kafka, Storm, R. Com essas estruturas é possível habilitar
uma variedade de cenários, como extração, transformação e carregamento (ETL), data
warehouse, aprendizado de máquina e IoT (MICROSOFT AZURE, 2018).
A solução da Microsoft também permite a criação de clusters otimizados em
que é possivel escalar as cargas de trabalho para mais ou para menos. Também
permite a proteção dos dados corporativos através da Rede Virtual do Microsoft Azure.
O monitoramento dos clusters se torna possível através de uma única interface. O
HDInsight permite a utilização de ferramentas avançadas para Hadoop e Spark e
cientistas de dados podem utilizar o Jupyter e o Zeppelin.
Os cenários de uso do HDInsight são variados. São exemplos: (1) processamento em lotes (ETL) - repositório de dados transformados a partir de dados estruturados e não estruturados; (2) data warehousing - consultas interativas em escalas
petabyte sobre diferentes tipos de dados em qualquer formato; (3) IoT - capaz de processar dados de streaming (em tempo real) recebidos de diversas fontes (dispositivos).
Figura 7 – Arquitetura típica do HDInsight (FAULKNER, 2015)
7
4 Conclusão
Os produtos da Amazon, da Google e da Microsoft não são os únicos, porém
eles registram em percentual grande adoção por parte das empresas que colocam
sua infraestrutura e muitos de seus serviços nas plataformas de nuvem (FIGURA 8).
Os serviços específicos de processamentos de dados desses grandes players fazem
uso de outros serviços de suas plataformas de nuvem, principalmente relacionados
ao armazenamento dos dados e à outros módulos de visualização da informação.
Alguns serviços fazem da escalabilidade de recursos algo mais automático e menos
dependente do indivíduo, outros precisam de que o indivíduo altere alguns parâmetros
da arquitetura a ser disponibilizada.
Figura 8 – Adoção de Nuvem Pública (Comparação entre 2017 e 2016) (JACKSON, 2018)
O faturamento do uso das soluções em Big Data é geralmente é feito por
processamento por segundo, e considera o volume de dados, e a estrutura virtual de
elementos de hardware (processamento, comunicação e armazenamento) criada.
Os preços ofertados pelas soluções variam porém já se reduziram ao ponto em
que qualquer indivíduo com um cartão de crédito pode usufruir de uma infraestrutura
de datacenter em nuvem para o processamento massivo de dados.
8
5 Bibliografia
• PHILLIPS, Christopher; SCHMIDT, Kevin. Programming Elastic MapReduce.
O’Reilly Media Inc, dezembro de 2013.
• WIKIPÉDIA.Hadoop. 2018. Disponível em: https://pt.wikipedia.org/wiki/Hadoop.
Acesso em: 06 de dezembro de 2018.
• ROUSE, Margaret. Amazon Elastic MapReduce (Amazon EMR).2017. Disponível em: https://searchaws.techtarget.com/definition/Amazon-Elastic-MapRedu
ce-Amazon-EMR. Acesso em: 06 de dezembro de 2018.
• MSV, Janakiram. Google Launches Cloud Dataproc, A Managed Big Data
Stack Powered by Spark and Hadoop. 2015. Disponível em: https://www.forbe
s.com/sites/janakirammsv/2015/09/23/google-launches-cloud-dataproc-a-mana
ged-big-data-stack-powered-by-spark-and-hadoop/#7143db52d562. Acesso em:
07 de dezembro de 2018.
• GOOGLE. Cloud Dataflow. Disponível em: https://cloud.google.com/dataflow/.
Acesso em: 07 de dezembro de 2018.
• GOOGLE. Cloud Dataproc. Disponível em: https://cloud.google.com/dataproc/.
Acesso em 07 de dezembro de 2018.
• Microsoft Azure. O que é o Azure HDInsight e a pilha de tecnologias do
Apache Hadoop. 2018. Disponível em: https://docs.microsoft.com/pt-br/azure/h
dinsight/hadoop/apache-hadoop-introduction. Acesso em: 08 de dezembro de
2018.
• JACKSON, Brian. Google Cloud vs AWS em 2018 (Comparando os Gigantes). 2018. Disponível em: https://kinsta.com/pt/blog/google-cloud-vs-aws/. Acesso
em: 09 de dezembro de 2018.
• FAULKNER, Alan. Intro to Big Data Analytics – Part I . 2015. Disponível
em: Faulknerhttp://falconteksolutionscentral.com/?p=668. Acesso em: 09 de
dezembro de 2018.
Download