Параллельное выполнение chunk.apply
Функция chunk.apply() также поддерживает параллельную обработку данных, что позволяет ускорить выполнение. Если параметр CH.PARALLEL принимает значение больше единицы на машинах под управлением Linux и Unix (включая Mac), несколько процессов считывают и обрабатывают данные одновременно, сокращая общее время выполнения. На Windows параметр CH.PARALLEL игнорируется.
Это упражнение является частью курса
Масштабируемая обработка данных в R
Инструкции к упражнению
- Проведите бенчмаркинг функции
iotools_read_fun(): сначала с 1 процессом, затем с 3 параллельными процессами.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
iotools_read_fun <- function(parallel) {
fc <- file("mortgage-sample.csv", "rb")
readLines(fc, n = 1)
chunk.apply(fc, make_msa_table,
CH.MAX.SIZE = 1e5, CH.PARALLEL = parallel)
close(fc)
}
# Benchmark the new function
microbenchmark(
# Use one process
___,
# Use three processes
___,
times = 20
)