Che cos'è l'elaborazione dati scalabile?

Elaborazione scalabile dei dati in R

Michael J. Kane and Simon Urbanek

Instructors, DataCamp

In questo corso...

  • Lavora con dati troppo grandi per il tuo computer
  • Scrivi codice scalabile
  • Importa ed elabora i dati a blocchi
Elaborazione scalabile dei dati in R

RAM

Tutti gli oggetti R sono memorizzati in RAM

Elaborazione scalabile dei dati in R

Elaborazione scalabile dei dati in R

Quanto possono essere grandi le variabili?

"R non è adatto a lavorare con dati più grandi del 10–20% della RAM di un computer." - Manuale di installazione e amministrazione di R

Elaborazione scalabile dei dati in R

Lo swapping è inefficiente

  • Se il computer esaurisce la RAM, i dati vengono spostati su disco
  • Poiché il disco è molto più lento della RAM, il tempo di esecuzione aumenta
Elaborazione scalabile dei dati in R

Soluzioni scalabili

  • Sposta un sottoinsieme in RAM
  • Elabora il sottoinsieme
  • Tieni il risultato ed elimina il sottoinsieme
Elaborazione scalabile dei dati in R

Perché il mio codice è lento?

  • Complessità dei calcoli

  • Valuta con cura le operazioni su disco per scrivere codice veloce e scalabile

Elaborazione scalabile dei dati in R

Benchmark delle prestazioni

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
Elaborazione scalabile dei dati in R

Esercitiamoci!

Elaborazione scalabile dei dati in R

Preparing Video For Download...