Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

Big Data e seu fiel companheiro Spark

1.985 visualizaciones

Publicado el

Apresentação mostrando como o Spark é muito útil no dia-a-dia na globo.como, como usamos Spark para processar bilhões de eventos e incentivando a migração para o Spark 2.0.

Publicado en: Datos y análisis

Big Data e seu fiel companheiro Spark

  1. 1. SPARK BIG DATA E SEU FIEL COMPANHEIRO
  2. 2. ENGENHEIRO DE DADOS NA GLOBO.COM @renan_oliveira
  3. 3. SPARK é de comer?
  4. 4. NÃO É DE COMER, EU ACHO.. É UM FRAMEWORK ▸ Simples e Performático ▸ Processamento de grandes dados ▸ Descomplicando “big data” ▸ Para desenvolvedores ▸ Estatísticos Friendly ▸ DataFrames estilo Pandas e R ▸ Multi linguagens e databases ▸ Além do Map/Reduce
  5. 5. SPARK SQL SPARK STREAMING MLLIB GRAPHX PACKAGES DATASET API LOGICAL PLAN PHYSICAL PLAN/TUNGSTEN EXECUTION
  6. 6. DATASETS DE RDD E DATAFRAME PARA
  7. 7. DATASET É A FORMA QUE O SPARK CONSEGUE SER PERFORMÁTICO, ELE CRIA “MAGICAMENTE" UM PLANO DE AÇÃO DISTRIBUÍDO SOBRE AQUELA AÇÃO. DATASET É LINDO - DATAFRAME É O NOVO DATASET[ROW]
  8. 8. GRANDESDADOS.COM PRA QUE USAMOS NA GLOBO.COM ▸ recommendation ▸ machine learning ▸ analytics ▸ a/b test ▸ pipeline ▸ workflow ▸ data driven organization
  9. 9. ▸ + 50 jobs em produção nesse momento ▸ Streaming e Batch ▸ Scala e Python ▸ MLlib e SQL ▸ Desde a versão 0.9, 2013 ▸ +120 pessoas já usaram na globo.com E AÍ VCS USAM MESMO?
  10. 10. UM DOS MAIORES CASES DO BRASIL SHOW ME THE NUMBERS ▸ 50 milhões de usuários únicos mês ▸ 3.5 bilhões de eventos por dia ▸ 100 mil novos conteúdos ▸ 1 milhão de conexões simultâneas
  11. 11. ▸ SQL ▸ Algoritmos prontos ▸ Otimizações gratuitas ▸ Open-Souce ▸ Comunidade enorme ▸ maior projeto da apache ▸ n consultorias VOU TER QUE APRENDER UM MUNDO NOVO?
  12. 12. SPARK 2.0 o que era bom ficou melhor!
  13. 13. 10X MAIS RÁPIDO QUE A 1.6 PARA OPERAÇÕES EM SQL Spark Release VELOCIDADE É IMPORTANTE
  14. 14. SCALA - AIRFLOW EM SERVIÇOS/APIS
  15. 15. TUNGSTEN INDO ALÉM DA JVM
  16. 16. val pageview = spark.read.parquet(path) val pvByUserAndProduct = pageview .groupBy("user", "product") .count() pvByUserAndProduct.describe().show() summary count count 25236 mean 2.45276 stddev 2.02837 min 1 max 40
  17. 17. val pvValidUsers = removeFromPartitions(pvByUserAndProduct) def removeFromPartitions(df: DataFrame): DataFrame = { df.cache() val partitions = df.select("product").distinct().collect() val cleanedPartitionsData = partitions.par.map { row => val partition = row(0) val partitionData = df.filter(df("product") === partition) val cutted = cut99(partitionData) partitionData.filter(partitionData("count") < cutted) } val result = cleanedPartitionsData.reduce[DataFrame] { case (leftDF, rightDF) => leftDF union rightDF } result } def cut99(df: DataFrame): Double = { df.stat.approxQuantile("count", Array(0.99), 0.001).head }
  18. 18. val pvValidUsers = removeFromPartitions(pvByUserAndProduct) pvValidUsers.describe().show() summary count count 24983 mean 2.33754 stddev 1.79223 min 1 max 9
  19. 19. JUPYTER - PYTHON ESTAMOS MUDANDO A EMPRESA COM
  20. 20. IF YOU WANT TO CONVINCE ME OF SOMETHING… SHOW ME NUMBERS
  21. 21. OBRIGADO! RENAN OLIVEIRA - @RENAN_OLIVEIRA WWW.RENANOLIVEIRA.NET WWW.GRANDESDADOS.COM
  22. 22. talentos.globo.com

×