Qu'est-ce que le traitement de données à l'échelle ?

Traitement de données à grande échelle en R

Michael J. Kane and Simon Urbanek

Instructors, DataCamp

Dans ce cours…

  • Travailler avec des données trop volumineuses pour votre ordinateur
  • Écrire du code scalable
  • Importer et traiter les données par blocs
Traitement de données à grande échelle en R

RAM

Tous les objets R sont stockés en RAM

Traitement de données à grande échelle en R

Traitement de données à grande échelle en R

Quelle taille peuvent avoir les variables ?

« R n'est pas bien adapté au traitement de données dépassant 10–20 % de la RAM d'un ordinateur. » – Manuel d'installation et d'administration de R

Traitement de données à grande échelle en R

Le swapping est inefficace

  • Si l'ordinateur manque de RAM, les données sont déplacées sur le disque
  • Le disque étant bien plus lent que la RAM, le temps d'exécution augmente
Traitement de données à grande échelle en R

Solutions scalables

  • Charger un sous-ensemble en RAM
  • Traiter ce sous-ensemble
  • Garder le résultat et supprimer le sous-ensemble
Traitement de données à grande échelle en R

Pourquoi mon code est-il lent ?

  • Complexité des calculs

  • Soigner les opérations disque pour écrire un code rapide et scalable

Traitement de données à grande échelle en R

Évaluer les performances

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
Traitement de données à grande échelle en R

Passons à la pratique !

Traitement de données à grande échelle en R

Preparing Video For Download...