O que é Processamento de Dados Escalável?

Processamento de Dados em Escala no R

Michael J. Kane and Simon Urbanek

Instructors, DataCamp

Neste curso...

  • Trabalhar com dados grandes demais para seu computador
  • Escrever código escalável
  • Importar e processar dados em blocos
Processamento de Dados em Escala no R

RAM

Todos os objetos R ficam na RAM

Processamento de Dados em Escala no R

Processamento de Dados em Escala no R

Quão grandes podem ser as variáveis?

"R não é bem adequado para trabalhar com dados maiores que 10–20% da RAM de um computador." - Manual de Instalação e Administração do R

Processamento de Dados em Escala no R

Swapping é ineficiente

  • Se o computador ficar sem RAM, os dados vão para o disco
  • Como o disco é bem mais lento que a RAM, o tempo de execução aumenta
Processamento de Dados em Escala no R

Soluções escaláveis

  • Mover um subconjunto para a RAM
  • Processar o subconjunto
  • Reter o resultado e descartar o subconjunto
Processamento de Dados em Escala no R

Por que meu código está lento?

  • Complexidade dos cálculos

  • Considere bem as operações de disco para escrever código rápido e escalável

Processamento de Dados em Escala no R

Medindo desempenho

library(microbenchmark)

microbenchmark( rnorm(100), rnorm(10000) )
Unit: microseconds
         expr    min      lq     mean  median      uq     max neval
   rnorm(100)   7.84   8.440   9.5459   8.773   9.355   29.56   100
 rnorm(10000) 679.51 683.706 755.5693 690.876 712.416 2949.03   100
Processamento de Dados em Escala no R

Vamos praticar!

Processamento de Dados em Escala no R

Preparing Video For Download...