SlideShare una empresa de Scribd logo
1 de 71
BIG DATA E A
GLOBO.COM
@renan_oliveira
www.renanoliveira.net
O QUE É BIG DATA?
e por que "todo mundo" quer
SERÁ?
3 MILHÕES
DE NOTÍCIAS
NO GOOGLE
700 só na globo.com
“A cada dois dias nós criamos 5
exabytes de dados, isso é o mesmo
que foi criado do início da
civilização até 2003.
-Eric Schmidt (CEO do Google)
5 V
➤ Volume: Grandes de dados,
desafios de armazenamento
➤ Variedade: Diferentes
formatos de dados
estruturados e/ou não
➤ Veracidade: Acurácia e
autenticidade
➤ Valor: Retorno desses dados
para o negócio/sociedade
➤ Velocidade: Tempo entre o
dado gerado e analisado
PRA QUE TANTOS DADOS?
➤ Predição
➤ Personalização
➤ As pessoas tem interesses
individuais
➤ Tantas informações são
passadas que cronológico
perde sentido
➤ Mostrar a mesma publicidade
pra mim e pra minha mãe não
faz sentido
➤ Queremos saber mais sobre o
público
ORIGEM
Google e a comunidade open source
GOOGLE FILE SYSTEM
➤ Publicação de 2003
➤ Revolucionário
➤ Barateando o custo de
processamento - máquinas
baratas
➤ Os arquivos são divididos em
chunks de 64mb
➤ Cada chunk tá no mínimo em
3 máquinas (localidade)
➤ É uma aplicação e não uma
alteração no kernel
http://cloudgroup.neu.edu.cn/papers/cloud%20data%20storage/gfs.pdf
MAPREDUCE
➤ Publicação de 2004 do Google
➤ Modelo para processar grande
volume de dados dividindo o
trabalho em tarefas para
serem processadas
independentemente
➤ A técnica de map e reduce era
muito usadas em linguagens
funcionais
https://static.googleusercontent.com/media/research.google.com/en//archive/mapreduce-osdi04.pdf
OPENSOURCE
➤ Nasceu no Yahoo em 2006 por
Doug Cutting
➤ HDFS - Hadoop Distributed
File System, implementação
do GFS
➤ Hadoop MapReduce -
Framework, implementação
do MapReduce
➤ Hadoop Yarn - gestor e
"agendador" de recursos
➤ Java é a sua principal
linguagem
➤ Se tornou um ecossistema
➤ Existem Bancos de dados
baseados nele e novos
Frameworks baseados nele
surgiram
➤ Tem como contribuidores
Yahoo, Facebook, LinkedIn,
eBay, IBM, Google
➤ Cloudera, Hortonworks e
MapR são algumas das
empresas/consultorias que
surgiram para difundir o
Hadoop
APACHE HADOOP
GLOBO.COM
o que? pra que? onde? resultados
Como aprendemos os
interesses dos usuários dado
a sua navegação.
desde 2012
EVENTOS
➤ 3 Bilhões de eventos diários
➤ 2 milhões de conexões simultâneas
➤ 50 milhões de usuários únicos por mês
➤ 100 mil novos conteúdos por mês
O QUE FAZEMOS?
➤ Recomendação
➤ Personalização
➤ Machine Learning
➤ Análise de consumo
➤ Análise de comportamento
➤ Experimentos
➤ Testes A/B
➤ Publicidade segmentada
➤ Data Driven Organization
NÚMEROS
➤ 100 mil recomendações por
minuto
➤ 15 ms de tempo de resposta
(p50)
➤ +300 testes A/B
➤ +20 algoritmos diferentes
➤ Presente em todos os
produtos da globo.com (G1,
GloboEsportes, GShow,
TechTudo, GloboPlay)
➤ Time de Growth focados na
melhoria em cada produto
FORMAS DE FAZER RECOMENDAÇÃO
➤ Usamos 2 formas de fazer recomendação
➤ User-Item - Muito usado em homes, página de chegada
não demostrou um interesse específico. Dado um usuário o
que ele tá mais propenso a ver
➤ Item-item - Dado uma matéria ou vídeo quais outros
conteúdos lhe interessam
COLLABORATIVE
FILTERING
CONTENT
BASED
TOP
COLLABORATIVE FILTERING CONTENT BASED TOP
COLLABORATIVE FILTERING CONTENT BASED TOP
COLLABORATIVE FILTERING CONTENT BASED TOP
surf
medina
peniche
prancha
mundial de
surf john john
mineirinho
pipeline
futebol
guerrero
flamengo
STJD
copa do brasil
fluminense henrique
brasileirão
COLLABORATIVE
FILTERING
CONTENT
BASED
TOP
CONTENT BASED
➤ Coisas parecidas com essas, com as mesmas palavras-chave
➤ Ele tem uma rápida atualização
➤ Preciso conhecer do usuário ou do item
➤ Usado no Spotify para criação de playlists automáticas
➤ Duas abordagens são usadas na globo.com TF-IDF e
Semântica
➤ TF-IDF: Automático para extração de palavras-chave
➤ Semântica: Os editores indicam no momento da criação
sobre quem é e onde ocorreu o fato
COLLABORATIVE FILTERING
➤ O que usuários parecidos comigo viram que eu não vi
➤ É o de maior taxa de conversão, o mais assertivo
➤ Ele tem uma atualização lenta, não é bom para notícias
bombásticas de agora e preciso conhecer o usuário
➤ Famoso pelo uso na Amazon
➤ Usado em e-commerces de todo mundo
➤ Netflix ficou famoso por fazer um ganho de performance com
o algoritmo ALS - Fatoração de matriz
➤ ALS tem um ótimo resultado dentro da globo.com
TOPS
➤ Conteúdos mais visitados
➤ Usado quando não sabemos nada sobre o usuário
➤ Resolve o problema das notícias "bombásticas"
➤ Podem ser inteligentes, top por região do usuário
RESULTADOS - GLOBO.COM
+60%
RESULTADOS - GLOBOESPORTE
+22%
RESULTADOS - GSHOW
+70%
RESULTADOS - TECHTUDO
+30%
80% da audiência 20% da audiência
vs
80% da audiência 20% da audiência
vs
80% da audiência 20% da audiência
vs+78%conversão
TESTES A/B
➤ Método de avaliação de
desempenho entre grupos
➤ Sempre temos um cenário que
conhecemos, chamamos ele de
controle
➤ Ajuda a dizer se um "botão" é
melhor que outro ou se um
algoritmo vence na maioria
das vezes
➤ Método científico
➤ + de 400 testes já foram
feitos na globo
JUPYTER
➤ Interface web para programar
em Julia, Python, R (e outras
linguagens)
➤ Usamos para validar futuros
algoritmos por sua
simplicidade
➤ É usado para os estudos sobre
o comportamento dos usuários
➤ Ótimo para compartilhar
➤ O GitHub fez um renderizador
➤ Tem suporte a Spark
(framework de processamento
de grandes dados)
SUPERSET
➤ Criado pelo Airbnb em 2015
➤ Democrático, não precisa
saber programar para usar
➤ Explorador de dados
➤ Gerador de dashboard
➤ Gráficos para acompanhamento
dos acontecimentos
➤ Facilidade de integração com
muitos bancos de dados
➤ Estamos integrando nesse
momento na globo.com
TECNOLOGIAS
e o que usamos na globo.com
event tracker by globo.com
ARQUITETURA - LAMBDA
REAL TIME
➤ Consumimos do Kafka
➤ Usamos Spark Streaming
➤ Usamos Scala ou Java
➤ Salvamos os dados brutos em
formato Parquet - "usuário fez
algo em algum lugar”
➤ Algoritmos de decisão em
tempo real
➤ Atualização dos modelos
➤ Sumarização usando o
conceito de janela
BATCH
➤ Consumimos de muitos
bancos de dados
➤ Usamos Spark + MLib
➤ Usamos Scala, Python ou R
➤ Usamos o Airflow para
disparar o Job
➤ Bom pra ler os Parquets,
muitos dados demoram para
serem processados
➤ A maioria dos algoritmos
usam essa estratégia
API - SERVING LAYER
➤ Escrevemos principalmente
em Java e Scala
➤ Retornamos JSON
➤ Usamos Netty e Finagle
➤ Nginx para proxy reverso
➤ +100 mil requisições por
minuto
➤ Tempo de resposta inferior a
20ms
➤ Usamos bancos de chave/valor
- HBase e Redis
APACHE KAFKA
➤ Barramento (gestor de filas e
tópicos)
➤ Para grandes volumes de
entrada com baixa latência
para processamento em tempo
real
➤ Tem uma estrutura de cluster
➤ Criado no LinkedIn em 2011
➤ Principal contribuidor é a
Confluent
➤ Quem mais usa: Netflix, Uber,
Spotify e PayPal
APACHE SPARK
➤ É um framework para N
linguagens (Scala, Python,
Java e R) - SQL
➤ Todos os nossos Jobs são
feitos usando-o, tanto
streaming quanto batch
➤ Estatísticos friendly
➤ Usa o conceito de DataFrame
o mesmo usado no Pandas e R
➤ Conexão com várias entradas e
saídas de dados
➤ Além do MapReduce
APACHE PARQUET
➤ Formato colunar
➤ Todos os nossos dados brutos
ficam armazenados nesse formato
➤ Abstraindo ele é estruturados
parecidos com o excel ou com
CSV
➤ Ele fica salvo no HDFS
➤ Mais usado para salvar dados
brutos (TB, PB de dados)
➤ Tem um ótimo compressor
➤ Os dados tem um schema
df = spark.read.parquet(“people.parquet”)
df.printSchema()
# root
# |-- age: long (nullable = true)
# |-- name: string (nullable = true)
df.select("name").show()
# +-------+
# | name|
# +-------+
# |Michael|
# | Andy|
# | Justin|
# +-------+
# Select everybody, but increment the age by 1
df.select(df['name'], df['age'] + 1).show()
# +-------+---------+
# | name|(age + 1)|
# +-------+---------+
# |Michael| null|
# | Andy| 31|
# | Justin| 20|
# +-------+---------+
# Count people by age
df.groupBy("age").count().show()
# +----+-----+
# | age|count|
# +----+-----+
# | 19| 1|
# |null| 1|
# | 30| 1|
# +----+-----+
APACHE HBASE
➤ "KeyValue" de alta performance
➤ Feito para guardar dados para
serem acessados de forma
muito rápida
➤ Bom para salvar dados sem
ocupar o espaço do chunk
➤ Salvamos os resultados da
nossas recomendações nele
para ter perfomance de leitura
➤ Os dados ficam armazenados
em regiões (e essas regiões são
ocupadas em ordem
lexicográfica)
HABILIDADES
e profissões
https://hbr.org/2012/10/data-scientist-the-sexiest-job-of-the-21st-century
IF YOU WANT TO CONVINCE ME OF SOMETHING…
SHOW ME NUMBERS
OBRIGADO
@renan_oliveira
www.renanoliveira.net

Más contenido relacionado

Similar a Big data e a globo.com - 2017

Big Data Analytics - Do MapReduce ao dashboard com Hadoop e Pentaho
Big Data Analytics - Do MapReduce ao dashboard com Hadoop e PentahoBig Data Analytics - Do MapReduce ao dashboard com Hadoop e Pentaho
Big Data Analytics - Do MapReduce ao dashboard com Hadoop e PentahoAmbiente Livre
 
TDC2017 - Misturando dados com Pentaho para insights mais significativos
TDC2017 - Misturando dados com Pentaho para insights mais significativosTDC2017 - Misturando dados com Pentaho para insights mais significativos
TDC2017 - Misturando dados com Pentaho para insights mais significativosAmbiente Livre
 
TDC2017 | São Paulo - Trilha Java EE How we figured out we had a SRE team at ...
TDC2017 | São Paulo - Trilha Java EE How we figured out we had a SRE team at ...TDC2017 | São Paulo - Trilha Java EE How we figured out we had a SRE team at ...
TDC2017 | São Paulo - Trilha Java EE How we figured out we had a SRE team at ...tdc-globalcode
 
OS CINCO Vs DO BIG DATA
OS CINCO Vs DO BIG DATAOS CINCO Vs DO BIG DATA
OS CINCO Vs DO BIG DATALeonardo Dias
 
Python e Django na Globo.com
Python e Django na Globo.comPython e Django na Globo.com
Python e Django na Globo.comricobl
 
Open Source Data Science - Elaborando uma plataforma de Big Data & Analytics ...
Open Source Data Science - Elaborando uma plataforma de Big Data & Analytics ...Open Source Data Science - Elaborando uma plataforma de Big Data & Analytics ...
Open Source Data Science - Elaborando uma plataforma de Big Data & Analytics ...Ambiente Livre
 
Palestra: Cientista de Dados – Dominando o Big Data com Software Livre
Palestra: Cientista de Dados – Dominando o Big Data com Software LivrePalestra: Cientista de Dados – Dominando o Big Data com Software Livre
Palestra: Cientista de Dados – Dominando o Big Data com Software LivreAmbiente Livre
 
Apresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo SitesApresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo Sitesthiagolima
 
Qual é o futuro da estratégia de dados?
Qual é o futuro da estratégia de dados?Qual é o futuro da estratégia de dados?
Qual é o futuro da estratégia de dados?Denodo
 
Tudo que Você Precisa Saber para Hackear o Google
Tudo que Você Precisa Saber para Hackear o GoogleTudo que Você Precisa Saber para Hackear o Google
Tudo que Você Precisa Saber para Hackear o GoogleFelipe Bazon
 
AI & Big Data - Personalização da Jornada - PicPay - TDC
AI & Big Data - Personalização da Jornada - PicPay - TDCAI & Big Data - Personalização da Jornada - PicPay - TDC
AI & Big Data - Personalização da Jornada - PicPay - TDCRenan Moreira de Oliveira
 
Workshop AMA/ESOP Gestão Documental 2009 05
Workshop AMA/ESOP Gestão Documental 2009 05Workshop AMA/ESOP Gestão Documental 2009 05
Workshop AMA/ESOP Gestão Documental 2009 05Fernando Fernández
 
Interoperabilidade com BigData Hadoop para Windows Azure
Interoperabilidade com BigData Hadoop  para Windows AzureInteroperabilidade com BigData Hadoop  para Windows Azure
Interoperabilidade com BigData Hadoop para Windows AzureAlessandro Binhara
 
Drupal e o seu ecossistema
Drupal e o seu ecossistemaDrupal e o seu ecossistema
Drupal e o seu ecossistemaDrupal Portugal
 
ASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoComunidade NetPonto
 

Similar a Big data e a globo.com - 2017 (20)

Big Data
Big DataBig Data
Big Data
 
Big Data, JVM e Redes Sociais
Big Data, JVM e Redes SociaisBig Data, JVM e Redes Sociais
Big Data, JVM e Redes Sociais
 
Big Data Analytics - Do MapReduce ao dashboard com Hadoop e Pentaho
Big Data Analytics - Do MapReduce ao dashboard com Hadoop e PentahoBig Data Analytics - Do MapReduce ao dashboard com Hadoop e Pentaho
Big Data Analytics - Do MapReduce ao dashboard com Hadoop e Pentaho
 
Recomendacao globo.com
Recomendacao globo.comRecomendacao globo.com
Recomendacao globo.com
 
TDC2017 - Misturando dados com Pentaho para insights mais significativos
TDC2017 - Misturando dados com Pentaho para insights mais significativosTDC2017 - Misturando dados com Pentaho para insights mais significativos
TDC2017 - Misturando dados com Pentaho para insights mais significativos
 
TDC2017 | São Paulo - Trilha Java EE How we figured out we had a SRE team at ...
TDC2017 | São Paulo - Trilha Java EE How we figured out we had a SRE team at ...TDC2017 | São Paulo - Trilha Java EE How we figured out we had a SRE team at ...
TDC2017 | São Paulo - Trilha Java EE How we figured out we had a SRE team at ...
 
OS CINCO Vs DO BIG DATA
OS CINCO Vs DO BIG DATAOS CINCO Vs DO BIG DATA
OS CINCO Vs DO BIG DATA
 
Python e Django na Globo.com
Python e Django na Globo.comPython e Django na Globo.com
Python e Django na Globo.com
 
Bigadata casese opotunidades
Bigadata casese opotunidadesBigadata casese opotunidades
Bigadata casese opotunidades
 
Open Source Data Science - Elaborando uma plataforma de Big Data & Analytics ...
Open Source Data Science - Elaborando uma plataforma de Big Data & Analytics ...Open Source Data Science - Elaborando uma plataforma de Big Data & Analytics ...
Open Source Data Science - Elaborando uma plataforma de Big Data & Analytics ...
 
Palestra: Cientista de Dados – Dominando o Big Data com Software Livre
Palestra: Cientista de Dados – Dominando o Big Data com Software LivrePalestra: Cientista de Dados – Dominando o Big Data com Software Livre
Palestra: Cientista de Dados – Dominando o Big Data com Software Livre
 
Apresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo SitesApresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo Sites
 
Qual é o futuro da estratégia de dados?
Qual é o futuro da estratégia de dados?Qual é o futuro da estratégia de dados?
Qual é o futuro da estratégia de dados?
 
Tudo que Você Precisa Saber para Hackear o Google
Tudo que Você Precisa Saber para Hackear o GoogleTudo que Você Precisa Saber para Hackear o Google
Tudo que Você Precisa Saber para Hackear o Google
 
AI & Big Data - Personalização da Jornada - PicPay - TDC
AI & Big Data - Personalização da Jornada - PicPay - TDCAI & Big Data - Personalização da Jornada - PicPay - TDC
AI & Big Data - Personalização da Jornada - PicPay - TDC
 
Workshop AMA/ESOP Gestão Documental 2009 05
Workshop AMA/ESOP Gestão Documental 2009 05Workshop AMA/ESOP Gestão Documental 2009 05
Workshop AMA/ESOP Gestão Documental 2009 05
 
Interoperabilidade com BigData Hadoop para Windows Azure
Interoperabilidade com BigData Hadoop  para Windows AzureInteroperabilidade com BigData Hadoop  para Windows Azure
Interoperabilidade com BigData Hadoop para Windows Azure
 
Drupal e o seu ecossistema
Drupal e o seu ecossistemaDrupal e o seu ecossistema
Drupal e o seu ecossistema
 
Hackathon UOL
Hackathon  UOL Hackathon  UOL
Hackathon UOL
 
ASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis Paulino
 

Más de Renan Moreira de Oliveira

PicPay - GenAI Finance Assistant - ChatGPT for Customer Service
PicPay - GenAI Finance Assistant - ChatGPT for Customer ServicePicPay - GenAI Finance Assistant - ChatGPT for Customer Service
PicPay - GenAI Finance Assistant - ChatGPT for Customer ServiceRenan Moreira de Oliveira
 
Excelsior - Perfil usando Big Data e Web Semântica
Excelsior - Perfil usando Big Data e Web SemânticaExcelsior - Perfil usando Big Data e Web Semântica
Excelsior - Perfil usando Big Data e Web SemânticaRenan Moreira de Oliveira
 
Transição do desenvolvimento web para apps - o caminho suave
Transição do desenvolvimento web para apps - o caminho suaveTransição do desenvolvimento web para apps - o caminho suave
Transição do desenvolvimento web para apps - o caminho suaveRenan Moreira de Oliveira
 
Ontologias e sua utilização em aplicações semânticas - UFF - CASI - 2014
Ontologias e sua utilização em aplicações semânticas - UFF - CASI - 2014Ontologias e sua utilização em aplicações semânticas - UFF - CASI - 2014
Ontologias e sua utilização em aplicações semânticas - UFF - CASI - 2014Renan Moreira de Oliveira
 
Introdução a web semântica e o case da globo.com
Introdução a web semântica e o case da globo.comIntrodução a web semântica e o case da globo.com
Introdução a web semântica e o case da globo.comRenan Moreira de Oliveira
 

Más de Renan Moreira de Oliveira (18)

PicPay - GenAI Finance Assistant - ChatGPT for Customer Service
PicPay - GenAI Finance Assistant - ChatGPT for Customer ServicePicPay - GenAI Finance Assistant - ChatGPT for Customer Service
PicPay - GenAI Finance Assistant - ChatGPT for Customer Service
 
AI na jornada do usuário de ecommerce
AI na jornada do usuário de ecommerceAI na jornada do usuário de ecommerce
AI na jornada do usuário de ecommerce
 
RecSys 2020 - iFood recommendation
RecSys 2020 - iFood recommendationRecSys 2020 - iFood recommendation
RecSys 2020 - iFood recommendation
 
Data science Framework
Data science FrameworkData science Framework
Data science Framework
 
iFood Recommendations
iFood RecommendationsiFood Recommendations
iFood Recommendations
 
Sistemas de Recomendação
Sistemas de RecomendaçãoSistemas de Recomendação
Sistemas de Recomendação
 
Big data e Machine Learning na globo.com
Big data e Machine Learning na globo.comBig data e Machine Learning na globo.com
Big data e Machine Learning na globo.com
 
What is AB, MVT and MAB?
What is AB, MVT and MAB?What is AB, MVT and MAB?
What is AB, MVT and MAB?
 
Dados importam, seja data-driven!
Dados importam, seja data-driven!Dados importam, seja data-driven!
Dados importam, seja data-driven!
 
Machine Learning na globo-com
Machine Learning na globo-comMachine Learning na globo-com
Machine Learning na globo-com
 
Big Data to Machine Learning
Big Data to Machine LearningBig Data to Machine Learning
Big Data to Machine Learning
 
Big Data e seu fiel companheiro Spark
Big Data e seu fiel companheiro SparkBig Data e seu fiel companheiro Spark
Big Data e seu fiel companheiro Spark
 
Big Data na Globo.com - Dev Version - 2016
Big Data na Globo.com - Dev Version - 2016Big Data na Globo.com - Dev Version - 2016
Big Data na Globo.com - Dev Version - 2016
 
Big Data na globo.com
Big Data na globo.comBig Data na globo.com
Big Data na globo.com
 
Excelsior - Perfil usando Big Data e Web Semântica
Excelsior - Perfil usando Big Data e Web SemânticaExcelsior - Perfil usando Big Data e Web Semântica
Excelsior - Perfil usando Big Data e Web Semântica
 
Transição do desenvolvimento web para apps - o caminho suave
Transição do desenvolvimento web para apps - o caminho suaveTransição do desenvolvimento web para apps - o caminho suave
Transição do desenvolvimento web para apps - o caminho suave
 
Ontologias e sua utilização em aplicações semânticas - UFF - CASI - 2014
Ontologias e sua utilização em aplicações semânticas - UFF - CASI - 2014Ontologias e sua utilização em aplicações semânticas - UFF - CASI - 2014
Ontologias e sua utilização em aplicações semânticas - UFF - CASI - 2014
 
Introdução a web semântica e o case da globo.com
Introdução a web semântica e o case da globo.comIntrodução a web semântica e o case da globo.com
Introdução a web semântica e o case da globo.com
 

Big data e a globo.com - 2017

  • 1. BIG DATA E A GLOBO.COM @renan_oliveira www.renanoliveira.net
  • 2.
  • 3. O QUE É BIG DATA? e por que "todo mundo" quer
  • 5. 3 MILHÕES DE NOTÍCIAS NO GOOGLE 700 só na globo.com
  • 6. “A cada dois dias nós criamos 5 exabytes de dados, isso é o mesmo que foi criado do início da civilização até 2003. -Eric Schmidt (CEO do Google)
  • 7.
  • 8. 5 V ➤ Volume: Grandes de dados, desafios de armazenamento ➤ Variedade: Diferentes formatos de dados estruturados e/ou não ➤ Veracidade: Acurácia e autenticidade ➤ Valor: Retorno desses dados para o negócio/sociedade ➤ Velocidade: Tempo entre o dado gerado e analisado
  • 9. PRA QUE TANTOS DADOS? ➤ Predição ➤ Personalização ➤ As pessoas tem interesses individuais ➤ Tantas informações são passadas que cronológico perde sentido ➤ Mostrar a mesma publicidade pra mim e pra minha mãe não faz sentido ➤ Queremos saber mais sobre o público
  • 10. ORIGEM Google e a comunidade open source
  • 11.
  • 12. GOOGLE FILE SYSTEM ➤ Publicação de 2003 ➤ Revolucionário ➤ Barateando o custo de processamento - máquinas baratas ➤ Os arquivos são divididos em chunks de 64mb ➤ Cada chunk tá no mínimo em 3 máquinas (localidade) ➤ É uma aplicação e não uma alteração no kernel http://cloudgroup.neu.edu.cn/papers/cloud%20data%20storage/gfs.pdf
  • 13. MAPREDUCE ➤ Publicação de 2004 do Google ➤ Modelo para processar grande volume de dados dividindo o trabalho em tarefas para serem processadas independentemente ➤ A técnica de map e reduce era muito usadas em linguagens funcionais https://static.googleusercontent.com/media/research.google.com/en//archive/mapreduce-osdi04.pdf
  • 14.
  • 15. OPENSOURCE ➤ Nasceu no Yahoo em 2006 por Doug Cutting ➤ HDFS - Hadoop Distributed File System, implementação do GFS ➤ Hadoop MapReduce - Framework, implementação do MapReduce ➤ Hadoop Yarn - gestor e "agendador" de recursos ➤ Java é a sua principal linguagem
  • 16. ➤ Se tornou um ecossistema ➤ Existem Bancos de dados baseados nele e novos Frameworks baseados nele surgiram ➤ Tem como contribuidores Yahoo, Facebook, LinkedIn, eBay, IBM, Google ➤ Cloudera, Hortonworks e MapR são algumas das empresas/consultorias que surgiram para difundir o Hadoop APACHE HADOOP
  • 17.
  • 18. GLOBO.COM o que? pra que? onde? resultados
  • 19. Como aprendemos os interesses dos usuários dado a sua navegação. desde 2012
  • 20. EVENTOS ➤ 3 Bilhões de eventos diários ➤ 2 milhões de conexões simultâneas ➤ 50 milhões de usuários únicos por mês ➤ 100 mil novos conteúdos por mês
  • 21. O QUE FAZEMOS? ➤ Recomendação ➤ Personalização ➤ Machine Learning ➤ Análise de consumo ➤ Análise de comportamento ➤ Experimentos ➤ Testes A/B ➤ Publicidade segmentada ➤ Data Driven Organization
  • 22.
  • 23. NÚMEROS ➤ 100 mil recomendações por minuto ➤ 15 ms de tempo de resposta (p50) ➤ +300 testes A/B ➤ +20 algoritmos diferentes ➤ Presente em todos os produtos da globo.com (G1, GloboEsportes, GShow, TechTudo, GloboPlay) ➤ Time de Growth focados na melhoria em cada produto
  • 24. FORMAS DE FAZER RECOMENDAÇÃO ➤ Usamos 2 formas de fazer recomendação ➤ User-Item - Muito usado em homes, página de chegada não demostrou um interesse específico. Dado um usuário o que ele tá mais propenso a ver ➤ Item-item - Dado uma matéria ou vídeo quais outros conteúdos lhe interessam
  • 28. COLLABORATIVE FILTERING CONTENT BASED TOP surf medina peniche prancha mundial de surf john john mineirinho pipeline futebol guerrero flamengo STJD copa do brasil fluminense henrique brasileirão
  • 30. CONTENT BASED ➤ Coisas parecidas com essas, com as mesmas palavras-chave ➤ Ele tem uma rápida atualização ➤ Preciso conhecer do usuário ou do item ➤ Usado no Spotify para criação de playlists automáticas ➤ Duas abordagens são usadas na globo.com TF-IDF e Semântica ➤ TF-IDF: Automático para extração de palavras-chave ➤ Semântica: Os editores indicam no momento da criação sobre quem é e onde ocorreu o fato
  • 31. COLLABORATIVE FILTERING ➤ O que usuários parecidos comigo viram que eu não vi ➤ É o de maior taxa de conversão, o mais assertivo ➤ Ele tem uma atualização lenta, não é bom para notícias bombásticas de agora e preciso conhecer o usuário ➤ Famoso pelo uso na Amazon ➤ Usado em e-commerces de todo mundo ➤ Netflix ficou famoso por fazer um ganho de performance com o algoritmo ALS - Fatoração de matriz ➤ ALS tem um ótimo resultado dentro da globo.com
  • 32. TOPS ➤ Conteúdos mais visitados ➤ Usado quando não sabemos nada sobre o usuário ➤ Resolve o problema das notícias "bombásticas" ➤ Podem ser inteligentes, top por região do usuário
  • 37.
  • 38.
  • 39. 80% da audiência 20% da audiência vs
  • 40. 80% da audiência 20% da audiência vs
  • 41. 80% da audiência 20% da audiência vs+78%conversão
  • 42. TESTES A/B ➤ Método de avaliação de desempenho entre grupos ➤ Sempre temos um cenário que conhecemos, chamamos ele de controle ➤ Ajuda a dizer se um "botão" é melhor que outro ou se um algoritmo vence na maioria das vezes ➤ Método científico ➤ + de 400 testes já foram feitos na globo
  • 43.
  • 44. JUPYTER ➤ Interface web para programar em Julia, Python, R (e outras linguagens) ➤ Usamos para validar futuros algoritmos por sua simplicidade ➤ É usado para os estudos sobre o comportamento dos usuários ➤ Ótimo para compartilhar ➤ O GitHub fez um renderizador ➤ Tem suporte a Spark (framework de processamento de grandes dados)
  • 45.
  • 46. SUPERSET ➤ Criado pelo Airbnb em 2015 ➤ Democrático, não precisa saber programar para usar ➤ Explorador de dados ➤ Gerador de dashboard ➤ Gráficos para acompanhamento dos acontecimentos ➤ Facilidade de integração com muitos bancos de dados ➤ Estamos integrando nesse momento na globo.com
  • 47.
  • 48. TECNOLOGIAS e o que usamos na globo.com
  • 49.
  • 50. event tracker by globo.com
  • 52. REAL TIME ➤ Consumimos do Kafka ➤ Usamos Spark Streaming ➤ Usamos Scala ou Java ➤ Salvamos os dados brutos em formato Parquet - "usuário fez algo em algum lugar” ➤ Algoritmos de decisão em tempo real ➤ Atualização dos modelos ➤ Sumarização usando o conceito de janela
  • 53. BATCH ➤ Consumimos de muitos bancos de dados ➤ Usamos Spark + MLib ➤ Usamos Scala, Python ou R ➤ Usamos o Airflow para disparar o Job ➤ Bom pra ler os Parquets, muitos dados demoram para serem processados ➤ A maioria dos algoritmos usam essa estratégia
  • 54. API - SERVING LAYER ➤ Escrevemos principalmente em Java e Scala ➤ Retornamos JSON ➤ Usamos Netty e Finagle ➤ Nginx para proxy reverso ➤ +100 mil requisições por minuto ➤ Tempo de resposta inferior a 20ms ➤ Usamos bancos de chave/valor - HBase e Redis
  • 55.
  • 56. APACHE KAFKA ➤ Barramento (gestor de filas e tópicos) ➤ Para grandes volumes de entrada com baixa latência para processamento em tempo real ➤ Tem uma estrutura de cluster ➤ Criado no LinkedIn em 2011 ➤ Principal contribuidor é a Confluent ➤ Quem mais usa: Netflix, Uber, Spotify e PayPal
  • 57.
  • 58. APACHE SPARK ➤ É um framework para N linguagens (Scala, Python, Java e R) - SQL ➤ Todos os nossos Jobs são feitos usando-o, tanto streaming quanto batch ➤ Estatísticos friendly ➤ Usa o conceito de DataFrame o mesmo usado no Pandas e R ➤ Conexão com várias entradas e saídas de dados ➤ Além do MapReduce
  • 59. APACHE PARQUET ➤ Formato colunar ➤ Todos os nossos dados brutos ficam armazenados nesse formato ➤ Abstraindo ele é estruturados parecidos com o excel ou com CSV ➤ Ele fica salvo no HDFS ➤ Mais usado para salvar dados brutos (TB, PB de dados) ➤ Tem um ótimo compressor ➤ Os dados tem um schema
  • 60. df = spark.read.parquet(“people.parquet”) df.printSchema() # root # |-- age: long (nullable = true) # |-- name: string (nullable = true) df.select("name").show() # +-------+ # | name| # +-------+ # |Michael| # | Andy| # | Justin| # +-------+
  • 61. # Select everybody, but increment the age by 1 df.select(df['name'], df['age'] + 1).show() # +-------+---------+ # | name|(age + 1)| # +-------+---------+ # |Michael| null| # | Andy| 31| # | Justin| 20| # +-------+---------+ # Count people by age df.groupBy("age").count().show() # +----+-----+ # | age|count| # +----+-----+ # | 19| 1| # |null| 1| # | 30| 1| # +----+-----+
  • 62. APACHE HBASE ➤ "KeyValue" de alta performance ➤ Feito para guardar dados para serem acessados de forma muito rápida ➤ Bom para salvar dados sem ocupar o espaço do chunk ➤ Salvamos os resultados da nossas recomendações nele para ter perfomance de leitura ➤ Os dados ficam armazenados em regiões (e essas regiões são ocupadas em ordem lexicográfica)
  • 63.
  • 65.
  • 66.
  • 67.
  • 68.
  • 70. IF YOU WANT TO CONVINCE ME OF SOMETHING… SHOW ME NUMBERS