НачатьНачать бесплатно

Параллельное выполнение 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
)
Редактировать и запускать код