SlideShare uma empresa Scribd logo
1 de 22
Pós QCon: Big Data
Experimentos realizados na Promob
Fernando Cicconeto
Sobre o trabalho
- Estudo em tópicos básicos de Big Data
- Experimento em análise de dados de eventos, gerados pelo Catalog3D
- Os eventos geram um grande volume de informação
- Um evento em si não significa muito
- Mas quando o conjunto é analisado, podemos obter informações úteis
- Problema: como armazenar e analisar um grande volume de dados?
Catalog3D
- Plataforma cloud para cadastro de itens 3D
- Modelos e Materiais 3D
- Web App onde é feito o cadastro e visualização
- Plugin cliente para o Promob - possibilita a utilização dos itens do Catalog3D
em projetos de ambientes
Catalog3D
Catalog3D
Dados do Catalog3D
- Cada vez que um item do Catalog3D é utilizado na aplicação cliente, é
gerado um registro
Dados do Catalog3D
- Estes registros são armazenados em uma coleção de documentos do
MongoDB
- Diariamente, são gerados cerca de 25000 registros
- Com o crescimento do volume de informação, realizar queries simples
tornou-se pouco performática
- Aumento do custo de armazenamento
- É necessário mudar a forma como são armazenados e consultados estes
dados
- Cenário para estudo de caso de Big Data
O que é Big Data?
- Grandes volumes de dados
- Estruturados ou não
- Gerados rapidamente ou em grande quantidade
- Podem ser gerados de diversas fontes diferentes, e não ter a mesma
estrutura
- Os dados podem ser analisados para auxiliar na tomada de decisões
estratégicas
- Pode consistir em um conjunto de dados tão grande e complexo, que um
sistema de banco de dados convencional é incapaz de lidar
Estudo de caso
- Ferramenta apresentada no QCon: Apache Spark
- Objetivo: estudar o Spark e analisar o comportamento da ferramenta sobre
os dados do Catalog3D
- Sistema para processamento de dados em cluster, de propósito geral
- Provê APIs de alto nível em várias linguagens: Java, Scala, Python, R
- Executa na JVM
- Pode ser executado um cluster com paralelismo entre nodos
- Conceito de RDD: Resilient Distributed Dataset
- Coleção de dados imutável, paralelizável e tolerante a falhas
- RDDs suportam dois tipos de operações
- Transformation: retorna um novo RDD. Exemplo: map
Apache Spark
Apache Spark
- Trabalha com diferentes data sources: arquivos locais, HDFS (Hadoop
Distributed File System), Amazon S3, bancos de dados, etc.
- Exemplo de RDD gerado a partir de um arquivo local:
- val rdd = sc.textFile("README.md")
- Cada linha do arquivo-texto é considerada um registro
- Conceitos de programação funcional (Gabriel Milani)
- Higher-order functions - val linesWithSpark = rdd.filter(line =>
line.contains("Spark"))
- Lazy evaluation: transformations somente são processadas ao executar uma action - val
count = linesWithSpark.count()
Apache Spark
- Console: spark-shell
- Self-contained applications: aplicações que são escritas e “deployadas” para
o Spark
- Possibilidade de trabalhar com dados estruturados ou não
- Dados não-estruturados: RDD puro. Ex.: arquivo-texto, CSV
- Dados estruturados: Spark SQL. Ex.: arquivos JSON, conexão direta com banco de dados
- O Spark SQL é uma API de extensão do Spark. Há outras, para variados
propósitos:
- mllib: machine learning
Voltando ao estudo de caso...
- Aqui trabalharemos com dados estruturados, em arquivos JSON
- Portanto, será usado o Spark SQL
- Spark SQL permite o processamento de dados estruturados, utilizando a
linguagem SQL para fazer consultas
- Exemplo:
val items = sqlContext.read.json("items-insertion.json")
items.createOrReplaceTempView("items")
val itemIds = sqlContext.sql("SELECT itemId FROM items")
Estrutura da aplicação
- Particionamento dos dados: para cada data, é criado um arquivo JSON
contendo as inserções daquela data: 2017-05-21, 2017-05-22, etc
- Self-contained applications que fazem processamento em batch (lotes)
- Ao fazer o deploy da aplicação, o batch será executado, salvando o resultado
em um outro conjunto de arquivos
- Linguagem Scala
- Exemplo: itens mais inseridos em cada dia
Estrutura da aplicação
- MostInserted
- src
- main
- scala
- MostInserted.scala
- 2017-05-21
- 2017-05-22
- 2017-05-23
- 2017-05-24
MostInserted.scala
build.sbt
Deploy
sbt package
spark-submit --class MostInserted target/scala-2.11/most-inserted-items_2.11-1.0.jar
Resultados
Considerações finais
- O Spark trata-se de uma solução viável para o problema dos dados de
inserção do Catalog3D
- Escalabilidade: possibilidade de configurar clusters e executar
processamento paralelo um mesmo conjunto de dados
- A AWS fornece a opção de configurar clusters e fazer o deploy diretamente
através de uma interface web - Amazon EMR.
- Por outro lado, há uma curva de aprendizagem elevada. Há vários conceitos
a serem entendidos.
- Para o problema em questão, que é relativamente simples, é possível aplicar
a estrutura de dados e alguns conceitos do Spark para a criação de jobs
Perguntas?
Dúvidas?
Colaborações?
fernando@promob.com
Muito obrigado!!!

Mais conteúdo relacionado

Mais procurados

Introdução ao MongoDB (NoSQL)
Introdução ao MongoDB (NoSQL)Introdução ao MongoDB (NoSQL)
Introdução ao MongoDB (NoSQL)Thiago de Azeredo
 
Escalabilidade Linear com o Banco de Dados NoSQL Apache Cassandra.
Escalabilidade Linear com o Banco de Dados NoSQL Apache Cassandra.Escalabilidade Linear com o Banco de Dados NoSQL Apache Cassandra.
Escalabilidade Linear com o Banco de Dados NoSQL Apache Cassandra.Ambiente Livre
 
Desenvolvendo Aplicações baseadas em Big Data com PySpark
Desenvolvendo Aplicações baseadas em Big Data com PySparkDesenvolvendo Aplicações baseadas em Big Data com PySpark
Desenvolvendo Aplicações baseadas em Big Data com PySparkVinícius Barros
 
No sql e as vantagens na utilização do mongodb
No sql e as vantagens na utilização do mongodbNo sql e as vantagens na utilização do mongodb
No sql e as vantagens na utilização do mongodbfabio perrella
 
Bancos de dados nosql (not only sql)
Bancos de dados nosql (not only sql)Bancos de dados nosql (not only sql)
Bancos de dados nosql (not only sql)Rodrigo Valerio
 
Dicas para uma maior performance em APIs REST - Tech Meetup - Itaú Unibanco -...
Dicas para uma maior performance em APIs REST - Tech Meetup - Itaú Unibanco -...Dicas para uma maior performance em APIs REST - Tech Meetup - Itaú Unibanco -...
Dicas para uma maior performance em APIs REST - Tech Meetup - Itaú Unibanco -...Renato Groff
 
Secot banco de dados no sql de código aberto
Secot   banco de dados no sql de código abertoSecot   banco de dados no sql de código aberto
Secot banco de dados no sql de código abertoSuissa
 
Fisl banco de dados no sql de código aberto
Fisl   banco de dados no sql de código abertoFisl   banco de dados no sql de código aberto
Fisl banco de dados no sql de código abertoSuissa
 
Mongo db no mundo real slides
Mongo db no mundo real   slidesMongo db no mundo real   slides
Mongo db no mundo real slidesSuissa
 
DevDay - MongoDb no mundo real - slides
DevDay - MongoDb no mundo real - slidesDevDay - MongoDb no mundo real - slides
DevDay - MongoDb no mundo real - slidesSuissa
 
Machine learning com Apache Spark
Machine learning com Apache SparkMachine learning com Apache Spark
Machine learning com Apache SparkSandys Nunes
 
Tirando água da rocha: escalabilidade via software no ExpressoV3
Tirando água da rocha: escalabilidade via software no ExpressoV3Tirando água da rocha: escalabilidade via software no ExpressoV3
Tirando água da rocha: escalabilidade via software no ExpressoV3Flávio Lisboa
 
Big Data com MATLAB (Tiago Monteiro), Webinar ao vivo
Big Data com MATLAB (Tiago Monteiro), Webinar ao vivoBig Data com MATLAB (Tiago Monteiro), Webinar ao vivo
Big Data com MATLAB (Tiago Monteiro), Webinar ao vivoOpencadd Advanced Technology
 
Hands-on Workshop: Como configurar e utilizar uma estrutura MongoDB para Big ...
Hands-on Workshop: Como configurar e utilizar uma estrutura MongoDB para Big ...Hands-on Workshop: Como configurar e utilizar uma estrutura MongoDB para Big ...
Hands-on Workshop: Como configurar e utilizar uma estrutura MongoDB para Big ...Big Data Week São Paulo
 

Mais procurados (20)

Introdução ao MongoDB (NoSQL)
Introdução ao MongoDB (NoSQL)Introdução ao MongoDB (NoSQL)
Introdução ao MongoDB (NoSQL)
 
Escalabilidade Linear com o Banco de Dados NoSQL Apache Cassandra.
Escalabilidade Linear com o Banco de Dados NoSQL Apache Cassandra.Escalabilidade Linear com o Banco de Dados NoSQL Apache Cassandra.
Escalabilidade Linear com o Banco de Dados NoSQL Apache Cassandra.
 
Seminário - NoSQL
Seminário - NoSQLSeminário - NoSQL
Seminário - NoSQL
 
Desenvolvendo Aplicações baseadas em Big Data com PySpark
Desenvolvendo Aplicações baseadas em Big Data com PySparkDesenvolvendo Aplicações baseadas em Big Data com PySpark
Desenvolvendo Aplicações baseadas em Big Data com PySpark
 
Material Seminário NoSQL
Material Seminário NoSQLMaterial Seminário NoSQL
Material Seminário NoSQL
 
No sql e as vantagens na utilização do mongodb
No sql e as vantagens na utilização do mongodbNo sql e as vantagens na utilização do mongodb
No sql e as vantagens na utilização do mongodb
 
Bancos de dados nosql (not only sql)
Bancos de dados nosql (not only sql)Bancos de dados nosql (not only sql)
Bancos de dados nosql (not only sql)
 
Dicas para uma maior performance em APIs REST - Tech Meetup - Itaú Unibanco -...
Dicas para uma maior performance em APIs REST - Tech Meetup - Itaú Unibanco -...Dicas para uma maior performance em APIs REST - Tech Meetup - Itaú Unibanco -...
Dicas para uma maior performance em APIs REST - Tech Meetup - Itaú Unibanco -...
 
Nosql
NosqlNosql
Nosql
 
Secot banco de dados no sql de código aberto
Secot   banco de dados no sql de código abertoSecot   banco de dados no sql de código aberto
Secot banco de dados no sql de código aberto
 
Fisl banco de dados no sql de código aberto
Fisl   banco de dados no sql de código abertoFisl   banco de dados no sql de código aberto
Fisl banco de dados no sql de código aberto
 
SQL SAT Salvador - Arquitetando Data Lake Multicloud
SQL SAT Salvador - Arquitetando Data Lake MulticloudSQL SAT Salvador - Arquitetando Data Lake Multicloud
SQL SAT Salvador - Arquitetando Data Lake Multicloud
 
Mongo db no mundo real slides
Mongo db no mundo real   slidesMongo db no mundo real   slides
Mongo db no mundo real slides
 
DevDay - MongoDb no mundo real - slides
DevDay - MongoDb no mundo real - slidesDevDay - MongoDb no mundo real - slides
DevDay - MongoDb no mundo real - slides
 
Machine learning com Apache Spark
Machine learning com Apache SparkMachine learning com Apache Spark
Machine learning com Apache Spark
 
Tirando água da rocha: escalabilidade via software no ExpressoV3
Tirando água da rocha: escalabilidade via software no ExpressoV3Tirando água da rocha: escalabilidade via software no ExpressoV3
Tirando água da rocha: escalabilidade via software no ExpressoV3
 
Big Data com MATLAB (Tiago Monteiro), Webinar ao vivo
Big Data com MATLAB (Tiago Monteiro), Webinar ao vivoBig Data com MATLAB (Tiago Monteiro), Webinar ao vivo
Big Data com MATLAB (Tiago Monteiro), Webinar ao vivo
 
Hands-on Workshop: Como configurar e utilizar uma estrutura MongoDB para Big ...
Hands-on Workshop: Como configurar e utilizar uma estrutura MongoDB para Big ...Hands-on Workshop: Como configurar e utilizar uma estrutura MongoDB para Big ...
Hands-on Workshop: Como configurar e utilizar uma estrutura MongoDB para Big ...
 
Hadoop
HadoopHadoop
Hadoop
 
Nagios
NagiosNagios
Nagios
 

Semelhante a Big Data análise de dados do Catalog3D

Introdução no sql mongodb java
Introdução no sql mongodb javaIntrodução no sql mongodb java
Introdução no sql mongodb javaFabiano Modos
 
Como construir sua primeira aplicação de Big Data na AWS
Como construir sua primeira aplicação de Big Data na AWSComo construir sua primeira aplicação de Big Data na AWS
Como construir sua primeira aplicação de Big Data na AWSAmazon Web Services LATAM
 
Mongo DB
Mongo DBMongo DB
Mongo DBdist_bp
 
PostgreSQL-Prático.pdf
PostgreSQL-Prático.pdfPostgreSQL-Prático.pdf
PostgreSQL-Prático.pdfArleiEvaristo
 
Big data para programadores convencionais
Big data para programadores convencionaisBig data para programadores convencionais
Big data para programadores convencionaisRoberto Oliveira
 
Desenvolvendo um buscador com PHP e Elasticsearch - Fernando Silva - Tchelinu...
Desenvolvendo um buscador com PHP e Elasticsearch - Fernando Silva - Tchelinu...Desenvolvendo um buscador com PHP e Elasticsearch - Fernando Silva - Tchelinu...
Desenvolvendo um buscador com PHP e Elasticsearch - Fernando Silva - Tchelinu...Tchelinux
 
TDC2016POA | Trilha PHP - Desenvolvendo um buscador com PHP e Elasticsearch
TDC2016POA | Trilha PHP - Desenvolvendo um buscador com PHP e ElasticsearchTDC2016POA | Trilha PHP - Desenvolvendo um buscador com PHP e Elasticsearch
TDC2016POA | Trilha PHP - Desenvolvendo um buscador com PHP e Elasticsearchtdc-globalcode
 
Bancos de Dados Orientados a Objetos
Bancos de Dados Orientados a ObjetosBancos de Dados Orientados a Objetos
Bancos de Dados Orientados a ObjetosGlaucio Scheibel
 
Alinguagem SQL no mundo NOSQL
Alinguagem SQL no mundo NOSQLAlinguagem SQL no mundo NOSQL
Alinguagem SQL no mundo NOSQLpichiliani
 
Introdução ao MongoDB: conceitos e práticas
Introdução ao MongoDB: conceitos e práticasIntrodução ao MongoDB: conceitos e práticas
Introdução ao MongoDB: conceitos e práticasBruno Barreto Carvalho
 
MongoDB - Performance e Escalabilidade para aplicações web
MongoDB - Performance e Escalabilidade para aplicações webMongoDB - Performance e Escalabilidade para aplicações web
MongoDB - Performance e Escalabilidade para aplicações webRafael Nunes
 
Apresentação no Meetup da Elastic em Florianopolis
Apresentação no Meetup da Elastic em FlorianopolisApresentação no Meetup da Elastic em Florianopolis
Apresentação no Meetup da Elastic em Florianopolisluis antonio Nunes
 
Tecnologias para mineração de dados nas nuvens
Tecnologias para mineração de dados nas nuvensTecnologias para mineração de dados nas nuvens
Tecnologias para mineração de dados nas nuvensAlessandro Binhara
 
Oficina técnica da Infraestrutura Nacional de Dados Abertos - INDA
Oficina técnica da Infraestrutura Nacional de Dados Abertos - INDAOficina técnica da Infraestrutura Nacional de Dados Abertos - INDA
Oficina técnica da Infraestrutura Nacional de Dados Abertos - INDAnitaibezerra
 
Aula9-Spark-Básico sematix com dataframes
Aula9-Spark-Básico sematix com dataframesAula9-Spark-Básico sematix com dataframes
Aula9-Spark-Básico sematix com dataframesronaldorclamaster21
 

Semelhante a Big Data análise de dados do Catalog3D (20)

Introdução no sql mongodb java
Introdução no sql mongodb javaIntrodução no sql mongodb java
Introdução no sql mongodb java
 
Primeiros Passos Com Elasticsearch
Primeiros Passos Com ElasticsearchPrimeiros Passos Com Elasticsearch
Primeiros Passos Com Elasticsearch
 
Como construir sua primeira aplicação de Big Data na AWS
Como construir sua primeira aplicação de Big Data na AWSComo construir sua primeira aplicação de Big Data na AWS
Como construir sua primeira aplicação de Big Data na AWS
 
Mongo DB
Mongo DBMongo DB
Mongo DB
 
PostgreSQL-Prático.pdf
PostgreSQL-Prático.pdfPostgreSQL-Prático.pdf
PostgreSQL-Prático.pdf
 
Big data para programadores convencionais
Big data para programadores convencionaisBig data para programadores convencionais
Big data para programadores convencionais
 
Desenvolvendo um buscador com PHP e Elasticsearch - Fernando Silva - Tchelinu...
Desenvolvendo um buscador com PHP e Elasticsearch - Fernando Silva - Tchelinu...Desenvolvendo um buscador com PHP e Elasticsearch - Fernando Silva - Tchelinu...
Desenvolvendo um buscador com PHP e Elasticsearch - Fernando Silva - Tchelinu...
 
TDC2016POA | Trilha PHP - Desenvolvendo um buscador com PHP e Elasticsearch
TDC2016POA | Trilha PHP - Desenvolvendo um buscador com PHP e ElasticsearchTDC2016POA | Trilha PHP - Desenvolvendo um buscador com PHP e Elasticsearch
TDC2016POA | Trilha PHP - Desenvolvendo um buscador com PHP e Elasticsearch
 
Bancos de Dados Orientados a Objetos
Bancos de Dados Orientados a ObjetosBancos de Dados Orientados a Objetos
Bancos de Dados Orientados a Objetos
 
BANCO DE DADOS.pptx
BANCO DE DADOS.pptxBANCO DE DADOS.pptx
BANCO DE DADOS.pptx
 
Bigadata casese opotunidades
Bigadata casese opotunidadesBigadata casese opotunidades
Bigadata casese opotunidades
 
Alinguagem SQL no mundo NOSQL
Alinguagem SQL no mundo NOSQLAlinguagem SQL no mundo NOSQL
Alinguagem SQL no mundo NOSQL
 
Introdução ao MongoDB: conceitos e práticas
Introdução ao MongoDB: conceitos e práticasIntrodução ao MongoDB: conceitos e práticas
Introdução ao MongoDB: conceitos e práticas
 
MongoDB - Performance e Escalabilidade para aplicações web
MongoDB - Performance e Escalabilidade para aplicações webMongoDB - Performance e Escalabilidade para aplicações web
MongoDB - Performance e Escalabilidade para aplicações web
 
Apresentação no Meetup da Elastic em Florianopolis
Apresentação no Meetup da Elastic em FlorianopolisApresentação no Meetup da Elastic em Florianopolis
Apresentação no Meetup da Elastic em Florianopolis
 
Tecnologias para mineração de dados nas nuvens
Tecnologias para mineração de dados nas nuvensTecnologias para mineração de dados nas nuvens
Tecnologias para mineração de dados nas nuvens
 
CouchDB Presentation
CouchDB PresentationCouchDB Presentation
CouchDB Presentation
 
Oficina técnica da Infraestrutura Nacional de Dados Abertos - INDA
Oficina técnica da Infraestrutura Nacional de Dados Abertos - INDAOficina técnica da Infraestrutura Nacional de Dados Abertos - INDA
Oficina técnica da Infraestrutura Nacional de Dados Abertos - INDA
 
Mongodb workshop cinlug
Mongodb workshop cinlugMongodb workshop cinlug
Mongodb workshop cinlug
 
Aula9-Spark-Básico sematix com dataframes
Aula9-Spark-Básico sematix com dataframesAula9-Spark-Básico sematix com dataframes
Aula9-Spark-Básico sematix com dataframes
 

Big Data análise de dados do Catalog3D

  • 1. Pós QCon: Big Data Experimentos realizados na Promob Fernando Cicconeto
  • 2. Sobre o trabalho - Estudo em tópicos básicos de Big Data - Experimento em análise de dados de eventos, gerados pelo Catalog3D - Os eventos geram um grande volume de informação - Um evento em si não significa muito - Mas quando o conjunto é analisado, podemos obter informações úteis - Problema: como armazenar e analisar um grande volume de dados?
  • 3. Catalog3D - Plataforma cloud para cadastro de itens 3D - Modelos e Materiais 3D - Web App onde é feito o cadastro e visualização - Plugin cliente para o Promob - possibilita a utilização dos itens do Catalog3D em projetos de ambientes
  • 6. Dados do Catalog3D - Cada vez que um item do Catalog3D é utilizado na aplicação cliente, é gerado um registro
  • 7. Dados do Catalog3D - Estes registros são armazenados em uma coleção de documentos do MongoDB - Diariamente, são gerados cerca de 25000 registros - Com o crescimento do volume de informação, realizar queries simples tornou-se pouco performática - Aumento do custo de armazenamento - É necessário mudar a forma como são armazenados e consultados estes dados - Cenário para estudo de caso de Big Data
  • 8. O que é Big Data? - Grandes volumes de dados - Estruturados ou não - Gerados rapidamente ou em grande quantidade - Podem ser gerados de diversas fontes diferentes, e não ter a mesma estrutura - Os dados podem ser analisados para auxiliar na tomada de decisões estratégicas - Pode consistir em um conjunto de dados tão grande e complexo, que um sistema de banco de dados convencional é incapaz de lidar
  • 9. Estudo de caso - Ferramenta apresentada no QCon: Apache Spark - Objetivo: estudar o Spark e analisar o comportamento da ferramenta sobre os dados do Catalog3D
  • 10. - Sistema para processamento de dados em cluster, de propósito geral - Provê APIs de alto nível em várias linguagens: Java, Scala, Python, R - Executa na JVM - Pode ser executado um cluster com paralelismo entre nodos - Conceito de RDD: Resilient Distributed Dataset - Coleção de dados imutável, paralelizável e tolerante a falhas - RDDs suportam dois tipos de operações - Transformation: retorna um novo RDD. Exemplo: map Apache Spark
  • 11. Apache Spark - Trabalha com diferentes data sources: arquivos locais, HDFS (Hadoop Distributed File System), Amazon S3, bancos de dados, etc. - Exemplo de RDD gerado a partir de um arquivo local: - val rdd = sc.textFile("README.md") - Cada linha do arquivo-texto é considerada um registro - Conceitos de programação funcional (Gabriel Milani) - Higher-order functions - val linesWithSpark = rdd.filter(line => line.contains("Spark")) - Lazy evaluation: transformations somente são processadas ao executar uma action - val count = linesWithSpark.count()
  • 12. Apache Spark - Console: spark-shell - Self-contained applications: aplicações que são escritas e “deployadas” para o Spark - Possibilidade de trabalhar com dados estruturados ou não - Dados não-estruturados: RDD puro. Ex.: arquivo-texto, CSV - Dados estruturados: Spark SQL. Ex.: arquivos JSON, conexão direta com banco de dados - O Spark SQL é uma API de extensão do Spark. Há outras, para variados propósitos: - mllib: machine learning
  • 13. Voltando ao estudo de caso... - Aqui trabalharemos com dados estruturados, em arquivos JSON - Portanto, será usado o Spark SQL - Spark SQL permite o processamento de dados estruturados, utilizando a linguagem SQL para fazer consultas - Exemplo: val items = sqlContext.read.json("items-insertion.json") items.createOrReplaceTempView("items") val itemIds = sqlContext.sql("SELECT itemId FROM items")
  • 14. Estrutura da aplicação - Particionamento dos dados: para cada data, é criado um arquivo JSON contendo as inserções daquela data: 2017-05-21, 2017-05-22, etc - Self-contained applications que fazem processamento em batch (lotes) - Ao fazer o deploy da aplicação, o batch será executado, salvando o resultado em um outro conjunto de arquivos - Linguagem Scala - Exemplo: itens mais inseridos em cada dia
  • 15. Estrutura da aplicação - MostInserted - src - main - scala - MostInserted.scala - 2017-05-21 - 2017-05-22 - 2017-05-23 - 2017-05-24
  • 18. Deploy sbt package spark-submit --class MostInserted target/scala-2.11/most-inserted-items_2.11-1.0.jar
  • 20. Considerações finais - O Spark trata-se de uma solução viável para o problema dos dados de inserção do Catalog3D - Escalabilidade: possibilidade de configurar clusters e executar processamento paralelo um mesmo conjunto de dados - A AWS fornece a opção de configurar clusters e fazer o deploy diretamente através de uma interface web - Amazon EMR. - Por outro lado, há uma curva de aprendizagem elevada. Há vários conceitos a serem entendidos. - Para o problema em questão, que é relativamente simples, é possível aplicar a estrutura de dados e alguns conceitos do Spark para a criação de jobs