Czym jest skalowalne przetwarzanie danych?

Skalowalne przetwarzanie danych w R

Michael J. Kane and Simon Urbanek

Instructors, DataCamp

W tym kursie...

  • Praca z danymi zbyt dużymi dla komputera
  • Pisanie skalowalnego kodu
  • Import i przetwarzanie danych w częściach
Skalowalne przetwarzanie danych w R

RAM

Wszystkie obiekty R są przechowywane w RAM

Skalowalne przetwarzanie danych w R

Skalowalne przetwarzanie danych w R

Jak duże mogą być zmienne?

"R nie jest dobrze przystosowany do pracy z danymi większymi niż 10–20% pamięci RAM komputera." - The R Installation and Administration Manual

Skalowalne przetwarzanie danych w R

Swapping jest nieefektywny

  • Gdy brakuje RAM, dane są przenoszone na dysk
  • Dysk jest znacznie wolniejszy niż RAM, co wydłuża czas wykonania
Skalowalne przetwarzanie danych w R

Skalowalne rozwiązania

  • Przenieś podzbiór do RAM
  • Przetwórz podzbiór
  • Zachowaj wynik i usuń podzbiór
Skalowalne przetwarzanie danych w R

Dlaczego mój kod jest wolny?

  • Złożoność obliczeń

  • Należy starannie rozważyć operacje dyskowe, aby pisać szybki, skalowalny kod

Skalowalne przetwarzanie danych w R

Pomiar wydajności

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
Skalowalne przetwarzanie danych w R

Czas na ćwiczenia!

Skalowalne przetwarzanie danych w R

Preparing Video For Download...