Distributed processing: How we process millions of data daily with EMR

Distributed processing: How we process millions of data daily with EMR

É cada vez mais difícil o processamento de grande quantidade de dados, alinhando o baixo custo, maior extração de inteligência e ganho na qualidade das informações extraídas.

Nesta palestra, apresentarei os desafios e lições aprendidas com o projeto desenvolvido aqui na reviewr.me, onde consolidamos e processamos milhões de dados diariamente. Um case que mostra como atingimos baixíssimo custo, alta performance e qualidade.

9797bddafe284a0d23b4e92dd1ce0043?s=128

Leonardo Rifeli

April 24, 2019
Tweet

Transcript

  1. Como processamos milhões de dados diariamente com EMR? Processamento Distribuído

  2. Head of Engineering & Partner at reviewr.me leonardorifeli.tech Leonardo Rifeli

  3. Nossa Crença

  4. None
  5. Tópicos ▷ Processamento Distribuído ▷ Hadoop, Spark, EMR e Scala

    ▷ Reviewr ▷ Consolidação de dados ▷ Custos & Métricas ▷ Lições Aprendidas ▷ Conclusão
  6. Processamento Distribuído

  7. None
  8. Sobre Hadoop

  9. Um framework para aplicações distribuídas

  10. Tudo começou com o HDFS

  11. Surgiu para armazenar arquivos grandes

  12. Rodar em hardware padrão e de baixo custo

  13. Tem alta escalabilidade e confiabilidade

  14. Possui tolerância a falhas

  15. Principais projetos Hadoop Commons, HDFS e MapReduce

  16. Sobre Spark

  17. Framework para processamento big-data

  18. Construído com foco em velocidade, fácil uso e análises sofisticadas

  19. Roda em diversas Arquiteturas

  20. Pode carregar os dados de qualquer lugar: Couchbase, MySQL, S3,

    HDFS...
  21. APIs em alto nível Java, Scala e Python

  22. Funciona totalmente na memória, sendo até 100x mais rápido

  23. Uma boa analogia

  24. Se o Hadoop é um livro em Russo, o Spark

    é um dicionário
  25. Sobre EMR

  26. Fornece uma estrutura Hadoop gerenciada

  27. Torna fácil, rápido e econômico processar grandes quantidades de dados

  28. Utiliza instâncias EC2 escaláveis dinamicamente

  29. Sobre Scala

  30. Acrônimo para "Scalable Language"

  31. Surgiu publicamente em 2004

  32. Incorpora recursos de linguagens Orientada a Objetos e funcionais

  33. Roda na JVM

  34. Reviewr

  35. None
  36. None
  37. Métricas Reviewr

  38. Reviewr Metrics

  39. 3.8k Estabelecimentos Monitorados

  40. 6.8k Integrações

  41. 1.6kk Reviews Coletados

  42. Reviewr Review Rating Index (RRI)

  43. reviewr.me/rri-indicador-chave-reputacao-onine

  44. Data Texto Quantidade Taxa de resposta Reviewr - Review Rating

    Index (RRI) Nota
  45. A real motivação

  46. RRI O fator data

  47. Filtros de períodos

  48. Consolidação de dados para

  49. RRI Evolução consolidada

  50. Atingir mais performance na aplicação

  51. Extrair mais insights

  52. E muito mais ...

  53. Consolidação de dados Arquitetura

  54. None
  55. None
  56. Custos AWS

  57. EMR + EC2 - Custos

  58. Confirmação dos Custos - EMR + EC2 (Spot)

  59. Adendo - EC2 Data Transfer

  60. None
  61. Lições Aprendidas

  62. EC2 Spot Instances

  63. Performance dos Jobs

  64. None
  65. None
  66. 5 nodes 16 vCores 12 gB reviewr.me/rri-indicador-chave-reputacao-onine

  67. Spark Stages & Tasks

  68. None
  69. None
  70. None
  71. None
  72. Previsibilidade de Custos

  73. Integração Contínua

  74. Faça mais Com menos

  75. None
  76. Conclusão

  77. ▷ MapReduce: Simplified Data Processing on Large Clusters ▷ Bigtable:

    A Distributed Storage System for Structured Data ▷ The Google File System ▷ The history of Hadoop ▷ Untangling Apache Hadoop YARN, Part 1: Cluster and YARN Basics ▷ How to calculate node and executors memory in Apache Spark Links
  78. Obrigado! leonardorifeli.tech reviewr.me leonardo.rifeli@reviewr.me