Что такое масштабируемая обработка данных?

Масштабируемая обработка данных в R

Michael J. Kane and Simon Urbanek

Instructors, DataCamp

В этом курсе ..

  • Работать с данными, которые не помещаются в оперативную память
  • Писать масштабируемый код
  • Импортировать и обрабатывать данные по частям
Масштабируемая обработка данных в R

Оперативная память

Все объекты R хранятся в оперативной памяти

Масштабируемая обработка данных в R

Масштабируемая обработка данных в R

Каков максимальный размер переменных?

«R плохо подходит для работы с данными, превышающими 10–20% оперативной памяти компьютера.» — The R Installation and Administration Manual

Масштабируемая обработка данных в R

Подкачка неэффективна

  • Если оперативная память заканчивается, данные перемещаются на диск
  • Диск значительно медленнее RAM, поэтому время выполнения растёт
Масштабируемая обработка данных в R

Масштабируемые решения

  • Загрузить подмножество в оперативную память
  • Обработать подмножество
  • Сохранить результат и освободить память
Масштабируемая обработка данных в R

Почему код работает медленно?

  • Сложность вычислений

  • Учитывайте дисковые операции для написания быстрого масштабируемого кода

Масштабируемая обработка данных в R

Измерение производительности

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
Масштабируемая обработка данных в R

Давайте потренируемся!

Масштабируемая обработка данных в R

Preparing Video For Download...