ComenzarEmpieza gratis

Paralelizar llamadas a chunk.apply

La función chunk.apply() también puede usar procesos en paralelo para procesar datos más rápido. Cuando el parámetro CH.PARALLEL se establece en un valor mayor que uno en máquinas Linux y Unix (incluido Mac), varios procesos leen y procesan datos al mismo tiempo, reduciendo así el tiempo de ejecución. En Windows, el parámetro CH.PARALLEL se ignora.

Este ejercicio forma parte del curso

Procesamiento de datos escalable en R

Ver curso

Instrucciones del ejercicio

  • Haz un benchmark de la función iotools_read_fun(), primero con 1 proceso y después con 3 procesos en paralelo.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

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
)
Editar y ejecutar código