Big Data na Globo.com - Dev Version - 2016

2.144 visualizações

Publicada em

Curta apresentação sobre a arquitetura de big data na globo.com.
Essa apresentação visa mostrar como Big Data auxiliou recomendação e analytics na empresa, bem como conseguimos construir uma plataforma (pipeline) para distribuir os dados pela empresa.
Essa apresentação será feita no TDC - Florianópolis.

Publicada em: Dados e análise
0 comentários
9 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
2.144
No SlideShare
0
A partir de incorporações
0
Número de incorporações
816
Ações
Compartilhamentos
0
Downloads
8
Comentários
0
Gostaram
9
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide
  • Testamos o HIVE e o PIG e não usamos mais
  • Começamos contando que vamos capturar tudo, dado tem valor.
    Com isso em real time temos os dados para serem consumidos pelos jobs
  • JUPYTER - Criar vídeo do Jupyter
  • Como processamos os dados com spark - ETL
    Lemos os dados do parquet
    Fazemos as operações
    Salvamos em um novo parquet
  • Como processamos os dados com spark - ETL
    Lemos os dados do parquet
    Fazemos as operações
    Salvamos em um novo parquet
  • Como processamos os dados com spark - ETL
    Lemos os dados do parquet
    Fazemos as operações
    Salvamos em um novo parquet
  • Como processamos os dados com spark - ETL
    Lemos os dados do parquet
    Fazemos as operações
    Salvamos em um novo parquet
  • AIRFLOW
  • Os tetes a/b foram importantes para segmentarmos as entregas e validarmos as ideias
    Atualmente já fizemos mais de 300 testes a/b
  • 15 mil req/s
    10 ms de tempo de resposta (p50)
  • Temos mais de 30 algoritmos diferentes rodando em produção
  • Big Data na Globo.com - Dev Version - 2016

    1. 1. Big Data na globo.com Como estamos revolucionando com dados o maior portal do Brasil @renan_oliveira dev version www.renanoliveira.net
    2. 2. Eventos • 3 bilhões de eventos diários • 50 milhões de usuários únicos por mês • +100 mil novos conteúdos por mês
    3. 3. O que fazemos? RECOMENDAÇÃO ANALYTICS PIPELINE
    4. 4. • Lambda: Streaming + Batch • APIs com tempo de resposta em ms • Ferramentas de analise de dados • MapReduce está morto :) • Cuidado com HIVE Metastore :) Arquitetura
    5. 5. Consumo do Kafka • Usamos Spark Streaming • Quase em tempo real • Usamos para escrever os Parquets • Algoritmos de atualização constante
    6. 6. Batch • Usamos Spark + MLlib • Lemos de vários parquets (pv, track..) • Maioria dos algoritmos • Salvamos em outros bancos para facilitar o consumo nas APIs
    7. 7. ANÁLISE AD-HOC
    8. 8. object SparkExample extends App { val sparkConf = new SparkConf() val sc = new SparkContext(sparkConf) val sql = new SQLContext(sc) import sql.implicits._ val df_imp = sqlContext.read.parquet(“…”) val expCount = df_imp.groupBy(df_imp.exp).count() expCount.write.save(“…”) }
    9. 9. object SparkExample extends App { val sparkConf = new SparkConf() val sc = new SparkContext(sparkConf) val sql = new SQLContext(sc) import sql.implicits._ val df_imp = sqlContext.read.parquet(“…”) val expCount = df_imp.groupBy(df_imp.exp).count() expCount.write.save(“…”) } val df_imp = sqlContext.read.parquet("/ namenode/impressions/2016042510")
    10. 10. object SparkExample extends App { val sparkConf = new SparkConf() val sc = new SparkContext(sparkConf) val sql = new SQLContext(sc) import sql.implicits._ val df_imp = sqlContext.read.parquet(“…”) val expCount = df_imp.groupBy(df_imp.exp).count() expCount.write.save(“…”) } val df_imp = sqlContext.read.parquet("/ namenode/impressions/2016042510") val expCount = df_imp.groupBy(df_imp.experiment).count( ).orderBy(desc("count")).head(10)
    11. 11. object SparkExample extends App { val sparkConf = new SparkConf() val sc = new SparkContext(sparkConf) val sql = new SQLContext(sc) import sql.implicits._ val df_imp = sqlContext.read.parquet(“…”) val expCount = df_imp.groupBy(df_imp.exp).count() expCount.write.save(“…”) } expCount.write.save("/namenode/ exp_count/x.parquet")
    12. 12. WORKFLOW
    13. 13. Globo AB
    14. 14. • 100 mil recomendações por minuto • 15 ms de tempo de resposta (p50) • +200 testes A/B nos últimos 2 anos • +20 algoritmos diferentes Números
    15. 15. Algoritmos • Collaborative Filtering • Content-Based • Matrix Factorization - ALS
    16. 16. *Dados extraídos em maio de 2016 +30%+52%
    17. 17. *Dados extraídos em maio de 2016 +105% +40%
    18. 18. 13.2% feed editorial Maior diversidade feed recomendado 100% *matérias que foram para o feed
    19. 19. Obrigado renanoliveira.net
    20. 20. grandesdados.com
    21. 21. talentos.globo.com

    ×