ComeçarComece de graça

Paralelizando chamadas para chunk.apply

A função chunk.apply() também pode usar processos paralelos para acelerar o processamento dos dados. Quando o parâmetro CH.PARALLEL é definido como um valor maior que um em máquinas Linux e Unix (incluindo Mac), vários processos leem e processam os dados ao mesmo tempo, reduzindo o tempo de execução. No Windows, o parâmetro CH.PARALLEL é ignorado.

Este exercício faz parte do curso

Processamento de Dados em Escala no R

Ver curso

Instruções do exercício

  • Faça o benchmark da função iotools_read_fun(), primeiro com 1 processo e depois com 3 processos paralelos.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

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 e executar o código