elytics - construindo uma plataforma de big data
TRANSCRIPT
![Page 1: Elytics - Construindo uma plataforma de big data](https://reader034.vdocuments.pub/reader034/viewer/2022051709/587a33d41a28abdb1c8b532b/html5/thumbnails/1.jpg)
ElyticsConstruindo uma plataforma de Big Data
Karina Moraeslinkedin: br.linkedin.com/in/karinamoraes
Tiago Viníciuslinkedin: br.linkedin.com/in/viniremigio
![Page 2: Elytics - Construindo uma plataforma de big data](https://reader034.vdocuments.pub/reader034/viewer/2022051709/587a33d41a28abdb1c8b532b/html5/thumbnails/2.jpg)
Envie sua dúvida no Twitter!#elo7tech
![Page 3: Elytics - Construindo uma plataforma de big data](https://reader034.vdocuments.pub/reader034/viewer/2022051709/587a33d41a28abdb1c8b532b/html5/thumbnails/3.jpg)
Agenda
● Motivação● Arquitetura● Considerações finais
![Page 4: Elytics - Construindo uma plataforma de big data](https://reader034.vdocuments.pub/reader034/viewer/2022051709/587a33d41a28abdb1c8b532b/html5/thumbnails/4.jpg)
Motivação
![Page 5: Elytics - Construindo uma plataforma de big data](https://reader034.vdocuments.pub/reader034/viewer/2022051709/587a33d41a28abdb1c8b532b/html5/thumbnails/5.jpg)
Marketplace
![Page 6: Elytics - Construindo uma plataforma de big data](https://reader034.vdocuments.pub/reader034/viewer/2022051709/587a33d41a28abdb1c8b532b/html5/thumbnails/6.jpg)
Fluxo de desenvolvimento
![Page 7: Elytics - Construindo uma plataforma de big data](https://reader034.vdocuments.pub/reader034/viewer/2022051709/587a33d41a28abdb1c8b532b/html5/thumbnails/7.jpg)
Monitoração de sistemas
![Page 8: Elytics - Construindo uma plataforma de big data](https://reader034.vdocuments.pub/reader034/viewer/2022051709/587a33d41a28abdb1c8b532b/html5/thumbnails/8.jpg)
Negócio
● Quantas buscas, carrinhos e pedidos temos por dias?
● Quais as palavras mais buscadas pelos usuários? Retornam resultados?
● Qual a porcentagem de usuários que adicionam produtos ao carrinho, mas não finalizam a compra? Por que isso acontece?
![Page 9: Elytics - Construindo uma plataforma de big data](https://reader034.vdocuments.pub/reader034/viewer/2022051709/587a33d41a28abdb1c8b532b/html5/thumbnails/9.jpg)
Relatórios, relatórios, relatórios...
![Page 10: Elytics - Construindo uma plataforma de big data](https://reader034.vdocuments.pub/reader034/viewer/2022051709/587a33d41a28abdb1c8b532b/html5/thumbnails/10.jpg)
Mudanças!
![Page 11: Elytics - Construindo uma plataforma de big data](https://reader034.vdocuments.pub/reader034/viewer/2022051709/587a33d41a28abdb1c8b532b/html5/thumbnails/11.jpg)
Mudanças!
![Page 12: Elytics - Construindo uma plataforma de big data](https://reader034.vdocuments.pub/reader034/viewer/2022051709/587a33d41a28abdb1c8b532b/html5/thumbnails/12.jpg)
Negócio
● Qual a porcentagem de usuários que iniciam uma conversa, mas não finalizam a compra? Por que isso acontece?
● Os vendedores estão respondendo em tempo adequado?
● Como monitoramos mais facilmente e rapidamente uma fraude?
● Como criar visualizações que auxiliem na tomada de decisão em relação à evolução dos produtos
![Page 13: Elytics - Construindo uma plataforma de big data](https://reader034.vdocuments.pub/reader034/viewer/2022051709/587a33d41a28abdb1c8b532b/html5/thumbnails/13.jpg)
Reports, reports, reports...
Ahh não!
![Page 14: Elytics - Construindo uma plataforma de big data](https://reader034.vdocuments.pub/reader034/viewer/2022051709/587a33d41a28abdb1c8b532b/html5/thumbnails/14.jpg)
#Comofaz
![Page 15: Elytics - Construindo uma plataforma de big data](https://reader034.vdocuments.pub/reader034/viewer/2022051709/587a33d41a28abdb1c8b532b/html5/thumbnails/15.jpg)
… sounds like Big Data...
Volume
Velocidade
Veracidade Variedade
Valor
… Houston, we have a Big Problem!
![Page 16: Elytics - Construindo uma plataforma de big data](https://reader034.vdocuments.pub/reader034/viewer/2022051709/587a33d41a28abdb1c8b532b/html5/thumbnails/16.jpg)
Elytics: Plataforma de Big Data Analytics
● Objetivos○ Criar e visualizar métricas○ Validar novas funcionalidades○ Auxiliar em troubleshooting○ Análises exploratórias utilizando os dados○ Aplicação de técnicas que auxiliem na
otimização de objetivos de negócio
![Page 17: Elytics - Construindo uma plataforma de big data](https://reader034.vdocuments.pub/reader034/viewer/2022051709/587a33d41a28abdb1c8b532b/html5/thumbnails/17.jpg)
Elytics: Visão geral
Ingestão de dados Processamento Armazenamento
Visualização Machine Learning
Big Data
Big Data Analytics / Data Science
Análise e ModelagemInferência
![Page 18: Elytics - Construindo uma plataforma de big data](https://reader034.vdocuments.pub/reader034/viewer/2022051709/587a33d41a28abdb1c8b532b/html5/thumbnails/18.jpg)
Arquitetura
![Page 19: Elytics - Construindo uma plataforma de big data](https://reader034.vdocuments.pub/reader034/viewer/2022051709/587a33d41a28abdb1c8b532b/html5/thumbnails/19.jpg)
Secor
Ingestão de Dados Processamento e Armazenamento
Visualização
Machine Learning
Amazon S3
Amazon EMR
![Page 20: Elytics - Construindo uma plataforma de big data](https://reader034.vdocuments.pub/reader034/viewer/2022051709/587a33d41a28abdb1c8b532b/html5/thumbnails/20.jpg)
Ingestão de Dados
![Page 21: Elytics - Construindo uma plataforma de big data](https://reader034.vdocuments.pub/reader034/viewer/2022051709/587a33d41a28abdb1c8b532b/html5/thumbnails/21.jpg)
Ingestão de dados
SECOR
Amazon S3
![Page 22: Elytics - Construindo uma plataforma de big data](https://reader034.vdocuments.pub/reader034/viewer/2022051709/587a33d41a28abdb1c8b532b/html5/thumbnails/22.jpg)
Apache Kafka
● Publish-subscribe.● Vários consumidores por partição.● Garantia de ordem de entrega.● ~ 5 milhões de mensagens/dia.
![Page 23: Elytics - Construindo uma plataforma de big data](https://reader034.vdocuments.pub/reader034/viewer/2022051709/587a33d41a28abdb1c8b532b/html5/thumbnails/23.jpg)
Apache Kafka
{"type":"String",
"date":"2016-02-23T22:03:13.034Z[Etc/UTC]",
"payload":{"key":"value"}}
![Page 24: Elytics - Construindo uma plataforma de big data](https://reader034.vdocuments.pub/reader034/viewer/2022051709/587a33d41a28abdb1c8b532b/html5/thumbnails/24.jpg)
Processamento e Armazenamento
![Page 25: Elytics - Construindo uma plataforma de big data](https://reader034.vdocuments.pub/reader034/viewer/2022051709/587a33d41a28abdb1c8b532b/html5/thumbnails/25.jpg)
Apache Spark
● Processamento iterativo por Streaming de dados;● RDD - Processamento distribuído em memória;● Suporta Java, Scala, Python e R;
![Page 26: Elytics - Construindo uma plataforma de big data](https://reader034.vdocuments.pub/reader034/viewer/2022051709/587a33d41a28abdb1c8b532b/html5/thumbnails/26.jpg)
Apache Spark: Visão geral
![Page 27: Elytics - Construindo uma plataforma de big data](https://reader034.vdocuments.pub/reader034/viewer/2022051709/587a33d41a28abdb1c8b532b/html5/thumbnails/27.jpg)
Cluster Mode
![Page 28: Elytics - Construindo uma plataforma de big data](https://reader034.vdocuments.pub/reader034/viewer/2022051709/587a33d41a28abdb1c8b532b/html5/thumbnails/28.jpg)
Amazon Elastic MapReduce
Transient Cluster
Amazon S3
![Page 29: Elytics - Construindo uma plataforma de big data](https://reader034.vdocuments.pub/reader034/viewer/2022051709/587a33d41a28abdb1c8b532b/html5/thumbnails/29.jpg)
Amazon Elastic MapReduce
Persistent Cluster
Streamings
![Page 30: Elytics - Construindo uma plataforma de big data](https://reader034.vdocuments.pub/reader034/viewer/2022051709/587a33d41a28abdb1c8b532b/html5/thumbnails/30.jpg)
Controle de Offset para Streamings
Driver
Executor
Receiver
`
`
Simple Level API
![Page 31: Elytics - Construindo uma plataforma de big data](https://reader034.vdocuments.pub/reader034/viewer/2022051709/587a33d41a28abdb1c8b532b/html5/thumbnails/31.jpg)
Monitoração de execução
JMX
![Page 32: Elytics - Construindo uma plataforma de big data](https://reader034.vdocuments.pub/reader034/viewer/2022051709/587a33d41a28abdb1c8b532b/html5/thumbnails/32.jpg)
E mais...
Source file configuration
Dependency Injection
Datasource configuration
Amazon S3
![Page 33: Elytics - Construindo uma plataforma de big data](https://reader034.vdocuments.pub/reader034/viewer/2022051709/587a33d41a28abdb1c8b532b/html5/thumbnails/33.jpg)
This is...
![Page 34: Elytics - Construindo uma plataforma de big data](https://reader034.vdocuments.pub/reader034/viewer/2022051709/587a33d41a28abdb1c8b532b/html5/thumbnails/34.jpg)
Sparta
● Dependency Injection;● Datasource configuration;● Monitoring;● Kafka consumer manager;● Provider configuration;● Distcp;
![Page 35: Elytics - Construindo uma plataforma de big data](https://reader034.vdocuments.pub/reader034/viewer/2022051709/587a33d41a28abdb1c8b532b/html5/thumbnails/35.jpg)
Sparta: Streaming Configuration
# Kafka Simple API Configurationkafka.brokers=kafka.topics=
# Streaming Configurationstream.max.rate.per.second=stream.graceful.shutdown=stream.batch.interval.ms=stream.writeAheadLog.enable=stream.checkpoint.directory=stream.back.pressure.enabled=
# Kafka Offset Persistentkafka.offset.persistent=kafka.cassandra.hosts=kafka.cassandra.keyspace=kafka.cassandra.auto.migration=
![Page 36: Elytics - Construindo uma plataforma de big data](https://reader034.vdocuments.pub/reader034/viewer/2022051709/587a33d41a28abdb1c8b532b/html5/thumbnails/36.jpg)
Sparta: Batch Configuration
# File Source Configurationfile.s3.access.key=file.s3.secret.key=file.source=
# Batch History Configurationbatch.cassandra.hosts=batch.cassandra.port=batch.cassandra.user=batch.cassandra.password=batch.cassandra.keyspace=batch.cassandra.datacenter=batch.history.ttl.days=
# Data Source Configurationdatabase.url=database.user=database.pass=database.driver.class=
![Page 37: Elytics - Construindo uma plataforma de big data](https://reader034.vdocuments.pub/reader034/viewer/2022051709/587a33d41a28abdb1c8b532b/html5/thumbnails/37.jpg)
Sparta: Monitoring Configuration
# Monitoring Configurationreporter.statsd.host=reporter.statsd.port=reporter.statsd.prefix=reporter.enabled=reporter.class=
![Page 38: Elytics - Construindo uma plataforma de big data](https://reader034.vdocuments.pub/reader034/viewer/2022051709/587a33d41a28abdb1c8b532b/html5/thumbnails/38.jpg)
Sparta Open Source is Comming Soon!
![Page 39: Elytics - Construindo uma plataforma de big data](https://reader034.vdocuments.pub/reader034/viewer/2022051709/587a33d41a28abdb1c8b532b/html5/thumbnails/39.jpg)
Visualização
![Page 40: Elytics - Construindo uma plataforma de big data](https://reader034.vdocuments.pub/reader034/viewer/2022051709/587a33d41a28abdb1c8b532b/html5/thumbnails/40.jpg)
Abordagens
Utilizar plataformas de BI
Façamos nós mesmos
NVD3.js, Google Charts...
![Page 41: Elytics - Construindo uma plataforma de big data](https://reader034.vdocuments.pub/reader034/viewer/2022051709/587a33d41a28abdb1c8b532b/html5/thumbnails/41.jpg)
![Page 42: Elytics - Construindo uma plataforma de big data](https://reader034.vdocuments.pub/reader034/viewer/2022051709/587a33d41a28abdb1c8b532b/html5/thumbnails/42.jpg)
Apache Zeppelin!!!
![Page 43: Elytics - Construindo uma plataforma de big data](https://reader034.vdocuments.pub/reader034/viewer/2022051709/587a33d41a28abdb1c8b532b/html5/thumbnails/43.jpg)
Camada de visualizaçãoDados
processados
Análise exploratória/Insights
Dashboards
Amazon S3
![Page 44: Elytics - Construindo uma plataforma de big data](https://reader034.vdocuments.pub/reader034/viewer/2022051709/587a33d41a28abdb1c8b532b/html5/thumbnails/44.jpg)
Machine Learning
![Page 45: Elytics - Construindo uma plataforma de big data](https://reader034.vdocuments.pub/reader034/viewer/2022051709/587a33d41a28abdb1c8b532b/html5/thumbnails/45.jpg)
O que é?
● Aplicações○ Recomendação de produtos○ Prevenção a fraudes○ Segmentação de clientes○ Ranking em resultados de busca
Conjunto de dados ? Resposta
Objetivo Atendido!Sim!
Não :(
Satisfatória?
![Page 46: Elytics - Construindo uma plataforma de big data](https://reader034.vdocuments.pub/reader034/viewer/2022051709/587a33d41a28abdb1c8b532b/html5/thumbnails/46.jpg)
#Comofaz2Conjunto de
dados
X1...
Xn
Respostas
y1...
yn
E aí, qual é a função?
y=f(X)
Encontrar aproximação da função (modelo) Fique tranquilo e favorável, o seu modelo vai errar!
Erro controlado -> otimização do objetivo
![Page 47: Elytics - Construindo uma plataforma de big data](https://reader034.vdocuments.pub/reader034/viewer/2022051709/587a33d41a28abdb1c8b532b/html5/thumbnails/47.jpg)
Seller Score
É possível criar um score que permita identificar quais são os melhores vendedores do Elo7?
Variáveis de cada observação (X): métricas de desempenho do vendedor
Variável resposta (y ∈ [0,1]): probabilidade do vendedor estar entre os melhores
y = f(X)
Como encontrar a função aproximada (modelo) f ?
![Page 48: Elytics - Construindo uma plataforma de big data](https://reader034.vdocuments.pub/reader034/viewer/2022051709/587a33d41a28abdb1c8b532b/html5/thumbnails/48.jpg)
Regressão logística
Conjunto de vendedores com score calculado
[(X1,y1),...,(Xn,yn))]
Algoritmo de regressão logística
Modelo gerado!
Avaliar qualidade do
modelo
Modelo preditivo: algoritmo estima parâmetros B0 e B1 para a função
logística
(Função logística)
Vendedor não avaliado (Xn+1,?)
y =
Vendedor avaliado! (Xn+1,yn+1)
![Page 49: Elytics - Construindo uma plataforma de big data](https://reader034.vdocuments.pub/reader034/viewer/2022051709/587a33d41a28abdb1c8b532b/html5/thumbnails/49.jpg)
Preciso implementar isso?!?!?
Não... (ufa!)
Amazon Machine Learning
![Page 50: Elytics - Construindo uma plataforma de big data](https://reader034.vdocuments.pub/reader034/viewer/2022051709/587a33d41a28abdb1c8b532b/html5/thumbnails/50.jpg)
Integração com Elytics
Amazon S3
Amazon EMR
Job batch
Seller Score
![Page 51: Elytics - Construindo uma plataforma de big data](https://reader034.vdocuments.pub/reader034/viewer/2022051709/587a33d41a28abdb1c8b532b/html5/thumbnails/51.jpg)
Aplicações do Seller Score
● Aumentar ranking dos melhores vendedores na busca;
● Permitir contratação de posições de destaque;● Priorizar atendimento;● Prevenção de fraudes.
![Page 52: Elytics - Construindo uma plataforma de big data](https://reader034.vdocuments.pub/reader034/viewer/2022051709/587a33d41a28abdb1c8b532b/html5/thumbnails/52.jpg)
Recapitulando...
![Page 53: Elytics - Construindo uma plataforma de big data](https://reader034.vdocuments.pub/reader034/viewer/2022051709/587a33d41a28abdb1c8b532b/html5/thumbnails/53.jpg)
Secor
Ingestão de Dados Processamento e Armazenamento
Visualização
Machine Learning
Amazon S3
Amazon EMR
![Page 54: Elytics - Construindo uma plataforma de big data](https://reader034.vdocuments.pub/reader034/viewer/2022051709/587a33d41a28abdb1c8b532b/html5/thumbnails/54.jpg)
Para finalizar...
![Page 55: Elytics - Construindo uma plataforma de big data](https://reader034.vdocuments.pub/reader034/viewer/2022051709/587a33d41a28abdb1c8b532b/html5/thumbnails/55.jpg)
Lições aprendidas
● Source of truth: S3 e/ou HDFS;● Evitar serviços não-gerenciados;● Optar por streaming de dados traz grandes
responsabilidades; ● Visualizar métricas é de extrema importância.
![Page 56: Elytics - Construindo uma plataforma de big data](https://reader034.vdocuments.pub/reader034/viewer/2022051709/587a33d41a28abdb1c8b532b/html5/thumbnails/56.jpg)
Próximos passos
● Evoluir a plataforma;● Migrar o máximo de serviços para AWS;● Disponibilizar mais dashboards de visualização;● Ampliar projetos de Big Data Analytics.
![Page 57: Elytics - Construindo uma plataforma de big data](https://reader034.vdocuments.pub/reader034/viewer/2022051709/587a33d41a28abdb1c8b532b/html5/thumbnails/57.jpg)
Obrigado!
Karina Moraeslinkedin: br.linkedin.com/in/karinamoraes
Tiago Viníciuslinkedin: br.linkedin.com/in/viniremigio